B.chocolates
#include<iostream> #include<algorithm> #include<string.h> long long b[200010]; long long x=1000000000+1; using namespace std; int main() { int n; cin>>n; for(int i=1;i<=n;i++) scanf("%d",&b[i]); long long ans=0; for(int i=n;i;i--) { x=min(b[i],x-1); if(x>0) ans+=x; } cout<<ans<<endl; return 0; }
每次的题目要求一定要看,看它的一个数据范围,一定要重视!!
第二这里面用了贪心算法