博客
关于我
C - Zero Quantity Maximization
阅读量:244 次
发布时间:2019-03-01

本文共 1765 字,大约阅读时间需要 5 分钟。

You are given two arrays aa and bb, each contains nn integers.

You want to create a new array cc as follows: choose some real (i.e. not necessarily integer) number dd, and then for every i∈[1,n]i∈[1,n] let ci:=d⋅ai+bici:=d⋅ai+bi.

Your goal is to maximize the number of zeroes in array cc. What is the largest possible answer, if you choose dd optimally?Input

The first line contains one integer nn (1≤n≤2⋅1051≤n≤2⋅105) — the number of elements in both arrays.

The second line contains nn integers a1a1, a2a2, …, anan (−109≤ai≤109−109≤ai≤109).

The third line contains nn integers b1b1, b2b2, …, bnbn (−109≤bi≤109−109≤bi≤109).Output

Print one integer — the maximum number of zeroes in array cc, if you choose dd optimally.ExamplesInput

51 2 3 4 52 4 7 11 3

Output

2

Input

313 37 391 2 3

Output

2

Input

40 0 0 01 2 3 4

Output

0

Input

31 2 -1-6 -12 6

Output

3

Note

In the first example, we may choose d=−2d=−2.

In the second example, we may choose d=−113d=−113.

In the third example, we cannot obtain any zero in array cc, no matter which dd we choose.

In the fourth example, we may choose d=6d=6.


思路:统计一下变成0的d最多的是哪个,注意下都是0的时候额外加,这题好像要longdouble 的精度

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int maxn=2e5+1000;typedef long long LL;LL a[maxn],b[maxn];int main(void){// cin.tie(0);std::ios::sync_with_stdio(false); map
map1; LL n;cin>>n; LL sum=0;LL cnt=0; for(LL i=1;i<=n;i++) cin>>a[i]; for(LL i=1;i<=n;i++) cin>>b[i]; for(LL i=1;i<=n;i++){ if(a[i]!=0){ long double c=(-1*1.0)*b[i]/a[i]; //似乎要long double map1[c]++; } if(a[i]==0&&b[i]==0) cnt++;//注意是额外加的..不是直接放sum } for(map
::iterator it=map1.begin();it!=map1.end();it++){ sum=max(sum,it->second); } cout<
<

转载地址:http://pldt.baihongyu.com/

你可能感兴趣的文章
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>