//Dost SEFEROĞLU
#include <bits/stdc++.h>
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define sp << " " <<
#define all(cont) cont.begin(),cont.end()
#define vi vector<int>
const int inf = 2e18,MOD = 998244353,N = 2e5+1;
int add(int x,int y){
return ((x+y) >= MOD ? x+y-MOD : x+y);
}
int mult(int x,int y) {
return ((x*y)%MOD);
}
struct Q {
stack<pair<pii,pii>> s1,s2;
pii merge(pii p1,pii p2) {
pii p3 = p1;
p3.ff = mult(p3.ff,p2.ff);
p3.ss = mult(p3.ss,p2.ff);
p3.ss = add(p3.ss,p2.ss);
return p3;
}
void push(pii op) {
if (!s1.empty()) s1.push({op,merge(s1.top().ss,op)});
else s1.push({op,op});
}
void pop() {
if (s2.empty()) {
pii cur = {1,0};
while (!s1.empty()) {
cur = merge(s1.top().ff,cur);
s2.push({s1.top().ff,cur});
s1.pop();
}
}
s2.pop();
}
int eval(int x) {
pii pp;
if (!s1.empty() && !s2.empty()) pp = merge(s2.top().ss,s1.top().ss);
else if (!s1.empty()) pp = s1.top().ss;
else if (!s2.empty()) pp = s2.top().ss;
else pp = {1,0};
return add(mult(pp.ff,x),pp.ss);
}
};
void solve() {
int n;
cin >> n;
int ans = 0;
vi a(n);
for (int i=0;i<n;i++) cin >> a[i];
for (int i=0;i<n;i++) {
int cur = inf;
int take = (n+1)/2;
for (int j = 0;j<=take-1;j++) {
int curry = a[i];
for (int jj = 1;jj<=j;jj++) curry+=a[(i-jj+n)%n];
for (int jj = 1;jj<=take-j-1;jj++) curry+=a[(i+jj)%n];
cur = min(cur,curry);
}
ans = max(ans,cur);
}
cout << ans << '\n';
}
int32_t main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#ifdef Dodi
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);/*
#else
freopen("fcolor.in","r",stdin);
freopen("fcolor.out","w",stdout); */
#endif
int t = 1;
//cin >> t;
while (t --> 0) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |