7 条题解
- 
  -1
X3C
「RiOI-4」消えた夏の夢
思路
显然,一个数字只会被选 次或 次,证明如下:
令当前数为 ,序列中某个数字为 。
那么第一次选时 会变成 , 会变成 。
第二次选时 会变成 , 会变成 。
也就是说,第二次选择一个数等于没选。
所以每个数字只会被选 次或 次。
那么就可以贪心了。如果 ,就选它,计算贡献,否则不选它,不计算贡献。
复杂度
时间复杂度:
空间复杂度:
Code
#include <bits/stdc++.h> using namespace std; const int N=1e5+5; int n,a[N]; long long ans=0; signed main(){ scanf("%d%lld",&n,&ans); for(int i=1;i<=n;i++) scanf("%d",a+i); for(int i=1;i<=n;i++) if(a[i]>0) ans+=a[i]; printf("%lld",ans); return 0; } 
信息
- ID
 - 48
 - 时间
 - 1000ms
 - 内存
 - 512MiB
 - 难度
 - 2
 - 标签
 - 递交数
 - 432
 - 已通过
 - 281
 - 上传者