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算错了?
图片说明