Submission #1296241

#TimeUsernameProblemLanguageResultExecution timeMemory
1296241Jawad_Akbar_JJHacker (BOI15_hac)C++20
100 / 100
232 ms24188 KiB
#include <iostream> #include <set> using namespace std; long long a[3<<19], Ans, n; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n; int h = (n + 1) / 2; for (int i=1;i<=n;i++) cin>>a[i], a[i+n] = a[i+n+n] = a[i]; for (int i=1;i<=n+n+n;i++) a[i] += a[i-1]; multiset<long long> st; for (int i=n;i>n-h;i--) st.insert(a[i + h - 1] - a[i - 1]); for (int i=n;i<n+n;i++){ Ans = max(Ans, *begin(st)); st.erase(st.find(a[i] - a[i - h])); st.insert(a[i + h] - a[i]); } cout<<Ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...