题目描述

在舞会上有N个男孩和N个女孩,每个人都量过了自己的身高。每个男孩只跟女孩跳舞,并且女孩也只跟男孩跳舞。每个人最

多只有一个舞伴。男孩或者想和比自己高的女孩跳舞,或者想和比自己低的女孩跳舞,同样的,女孩也是或者想和比自己高的男

孩跳舞,或者想和自己低的男孩跳舞。

你能决定最多有多少对能在一起跳舞么?

输入

第一行是一个正整数N(1<=N<=100000),表示男女的人数。第二行包括N个绝对值在1500到2500的整数,每个整数的绝对值表示每个男孩的身高。如果是一个正整数,表示这个男的喜欢和比他高的女孩跳舞,如果是负整数,就表示这个男的喜欢和比他低的女孩跳舞。第三行包括N个整数,每个整数的绝对值表示相应女孩的身高。同样的,如果是正整数的话,表示这个女孩喜欢和比她高的男孩跳舞,如果是负整数的话,表示这个女孩喜欢和比她低的男孩跳舞。

输出

只有一行一个整数,表示最多的可以搭配的对数。

数据范围限制

提示

程序:

var
n,i,m,tj,bz,w:longint;
a,b:array[0..100000]of longint;
procedure kp1(l,r:longint);
var
i,j,mid:longint;
beginif l>=r then exit;i:=l;j:=r;mid:=a[(l+r) div 2];repeatwhile a[i]>mid do inc(i);while a[j]<mid do dec(j);if i<=j thenbegina[0]:=a[i];a[i]:=a[j];a[j]:=a[0];inc(i);dec(j);end;until i>j;kp1(l,j);kp1(i,r);
end;
procedure kp2(l,r:longint);
var
i,j,mid:longint;
beginif l>=r then exit;i:=l;j:=r;mid:=b[(l+r) div 2];repeatwhile b[i]>mid do inc(i);while b[j]<mid do dec(j);if i<=j thenbeginb[0]:=b[i];b[i]:=b[j];b[j]:=b[0];inc(i);dec(j);end;until i>j;kp2(l,j);kp2(i,r);
end;
beginreadln(n);for i:=1 to n doread(a[i]);readln;for i:=1 to n doread(b[i]);kp1(1,n);kp2(1,n);for i:=1 to n doif b[i]<0 thenbeginw:=i;break;end;m:=n;tj:=0;for i:=1 to n dobeginbz:=0;if bz=0 thenif a[i]<0 thenif b[m]<0 thenbeginm:=w-1;bz:=1;end;if bz=0 thenif a[i]>0 thenif b[m]<0 thenif abs(b[m])>a[i] thenbegininc(tj);dec(m);bz:=1;end;if bz=0 thenif a[i]<0 thenif b[m]>0 thenif b[m]<abs(a[i]) thenbegininc(tj);dec(m);bz:=1;end;if m=0 then break;end;write(tj);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500095.html

JZOJ__Day 1:【普及模拟】PLES相关推荐

  1. JZOJ__Day 10:【普及模拟】【USACO】iCow播放器

    题目描述 被无止境的农活压榨得筋疲力尽后,Farmer John打算用他在MP3播放器市场新买的iCow来听些音乐,放松一下.FJ的iCow里存了N(1 <= N <= 1,000)首曲子 ...

  2. JZOJ__Day 10:【普及模拟】【USACO】横幅

    题目描述 Bessie结束了国外长途旅游回来.为了迎接她的归来,Farmer John准备在牧场给她挂起一个"Welcome Home"的横幅.横幅会挂在两个柱子间的长度介于L1. ...

  3. JZOJ__Day 10:【普及模拟】【USACO】山峰暸望

    题目描述 一天,Bessie在眺望美丽的威斯康星的群山的时候,她突然产生了疑问:哪座山是最宽的捏?她决定在地平线上,利用她的新发明的山峰高度测量仪依次做N (1 <= N <= 10,00 ...

  4. JZOJ__Day 9:【普及模拟】Square

    题目描述 今天小D在他的课桌上玩方格纸,现在有一个平面直角坐标系,小D将方块纸放在这个坐标系中,并且方格纸的都与x轴.y轴平行,小D在这上面放了许多的方格纸,然后想知道对于平面直角坐标系中的一个点有多 ...

  5. JZOJ__Day 9:【普及模拟】算法学习(sfxx)

    题目描述 自从学习了动态规划后,Famer KXP对动态规划的热爱便一发不可收拾,每天都想找点题做,一天,他找到了一道题,但是不会做,于是,他找到了你.题目如下: 给出N个无序不重复的数,再有M个询问 ...

  6. JZOJ__Day 8:【普及模拟】马农

    题目描述 在观看完战马检阅之后,来自大草原的两兄弟决心成为超级"马农",专门饲养战马.兄弟两回到草原,将可以养马的区域,分为 N*N 的单位面积的正方形, 并实地进行考察,归纳出了 ...

  7. JZOJ__Day 7:【普及模拟】max

    题目描述 一个正整数一般可以分为几个互不相同的自然数的和,如3=1+2,4=1+3,5=1+4=2+3,6=1+5=2+4,-. 现在你的任务是将指定的正整数n分解成m个(m>=1)互不相同的自 ...

  8. JZOJ__Day 7:【普及模拟】蚂蚁

    题目描述 n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的 ...

  9. JZOJ__Day 6:【普及模拟】神奇的项链(fett)

    题目描述 从前有一条神奇的项链,为什么说它神奇呢?因为它有两个性质: 1. 神奇的项链可以拉成一条线,线上依次是N 个珠子,每个珠子有一个能量值Ei: 2. 除了第一个和最后一个珠子,其他珠子都满足E ...

最新文章

  1. 漫话:如何给女朋友解释什么是缓存穿透、缓存击穿、缓存雪崩?
  2. C#静态类 静态方法与非静态方法比较
  3. 从天气项目看Spring Cloud微服务治理
  4. linux内核参数详解
  5. 基于BootStrap 4.x 中的Flex 实现各种布局
  6. 帮初学者快速上手机器学习,这有一份Colab资源大全
  7. JS模式:jq中简单的模式--》采摘自js设计(tomxu_version)
  8. 计算机过程控制系统教材,过程控制系统-样章试读.PDF
  9. Android usb 权限广播,android10.0 USB弹窗权限流程解析
  10. sql截取某个字段字符串后几位_自学SQL网教程之09-SQL Lesson 8: 关于特殊关键字 NULLs...
  11. javascript入门系列演示·三种弹出对话框的用法实例
  12. 数据中心智能化运维之路
  13. 在Oracle中删除用户时提示:ORACLE无法删除当前连接用户
  14. OWASP 2013年十大Web应用安全漏洞
  15. 玩游戏时弹出计算机内存不足,Win7系统玩游戏内存不足怎么办 win7玩游戏时显示内存不足如何解决...
  16. 干货:IT运维管理规划
  17. 计算思维是利用计算机,计算机思维论文
  18. java 银行账户类
  19. AtCoder Beginner Contest 217 A B C D E G 题解
  20. 第二章数据通信基础(冲!)

热门文章

  1. dev c++怎么调试_「正点原子NANO STM32开发板资料连载」第十八章 USMART 调试组件...
  2. 运动目标检测_单高斯背景建模
  3. 我也聊聊串口通信协议:用户层通信协议的编制
  4. Nhibernate中session的状态与session.connection.state状态的差别的解释
  5. onbeforeunload与onunload事件
  6. javascript动态创建可拖动、最大化、最小化的层
  7. FFmpeg--av_register_all函数分析
  8. 计算机网络核心知识(下)
  9. VMware Workstation 与 Hyper-V 不兼容
  10. Visual c++6.0 如何自定义一个光标,使其变成字