
#include <bits/stdc++.h>
// #define int long long
#define max(a,b) (a>b?a:b)
#define endl '\n'
using namespace std;
const int N = 100005;
int n,a[N*2];
queue<int > q;
int ma,si,sum;
signed main(){
ios::sync_with_stdio(0);
cin.tie(NULL);
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
a[i+n] = a[i];
}
int m = n * 2;
q.push(a[1]);
si = 1,sum = a[1];
for(int i = 2; i <= m; i++){
if(si > n){
si--;
sum -= q.front();
q.pop();
}
if(sum+a[i] <= a[i]){
sum = a[i];
while(!q.empty()) q.pop();
q.push(a[i]);
si = 1;
}else{
si++;
q.push(a[i]);
sum += a[i];
}
ma = max(ma,sum);
}
cout << ma << endl;
return 0;
}
这么简单的题我做不出来是不是废了 /fad