给你一个长为 的数列 , 一个人现在要从两段吃这个序列 必须吃完

每次得到的收益为 吃到的数的值 但是每次吃完之后整个数列的所有数会减去

要求最大化最后的总收益

不难发现吃的顺序对答案没有影响

答案为

复杂度

#include <bits/stdc++.h>
#define LL long long
using namespace std;
LL ans;
int n,a[200050];
int main(){
    int i;
    cin >> n; for (i = 1; i <= n; ++i) cin >> a[i];
    for (i = 1; i <= n; ++i) ans += a[i];
    for (i = 1; i <= n; ++i) ans -= n-i;
    cout << ans << endl;
    return 0;
}