E 美味的序列
边加边减就行,用long long存答案,顺便一提,全加起来再减应该不行,过不了
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
bool cmp(int a,int b){return a>b;}
int a[100010];
int main(){
int n;
while(cin>>n){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n,cmp);
ll ans=0,d=0;
for(int i=0;i<n;i++,d++){
ans+=a[i]-d;
}
cout<<ans<<endl;
}
return 0;
}最后奉上一下我之前百思不得其解的wa,总不能我真的是d算错了?

京公网安备 11010502036488号