Submission #949375

#TimeUsernameProblemLanguageResultExecution timeMemory
949375Faisal_SaqibHacker (BOI15_hac)C++17
100 / 100
406 ms56228 KiB
#include <bits/stdc++.h> using namespace std; const int N=5e5+100; #define int long long signed main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(0); int n; cin>>n; vector<int> a,b; for(int i=0;i<n;i++) { int x; cin>>x; a.push_back(x); } for(auto y:a) b.push_back(y); for(auto y:a) b.push_back(y); for(auto y:a) b.push_back(y); vector<int> pre={0}; for(int i:b) pre.push_back(pre.back()+i); int sz=n-(n/2); int mx=0; vector<int> sp={0}; for(int i=n+1;i<=(2*n);i++) sp.push_back(pre[i+sz-1]-pre[i-1]); for(int i=n+1;i<=(2*n);i++) sp.push_back(pre[i+sz-1]-pre[i-1]); set<pair<int,int>> tpp; for(int j=1;j<=sz;j++) tpp.insert({sp[j],j}); mx=begin(tpp)->first; for(int i=sz+1;i<=(2*n);i++) { tpp.insert({sp[i],i}); tpp.erase({sp[i-sz],i-sz}); mx=max(mx,begin(tpp)->first); } cout<<mx<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...