1 条题解
-
1Takagi-san (njnu19200437) LV 10 MOD @ 2021-07-17 07:45:11
对于80%的数据,只要用for循环判断两个数对17的余数即可
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) maxv = max(maxv,(a[i]+a[j])%17);
但是\(n\)很大,我们可以考虑将其对17取模,然后循环0..16
#include<bits/stdc++.h> using namespace std; int main() { int n,x,maxv=0, a[17]={0}; cin>>n; while(n--) cin>>x, a[x%17]++; for(int i=0;i<17;i++)for(int j=0;j<17;j++) { if((i==j && a[i]>=2 )|| (i!=j && a[i] && a[j])) maxv = max(maxv, (i+j)%17); } cout<<maxv<<endl; return 0; }
- 1
信息
- ID
- 1271
- 难度
- 6
- 分类
- (无)
- 标签
- (无)
- 递交数
- 83
- 已通过
- 22
- 通过率
- 27%
- 被复制
- 4
- 上传者