Submission #146130

#TimeUsernameProblemLanguageResultExecution timeMemory
146130evpipisHacker (BOI15_hac)C++11
100 / 100
324 ms8952 KiB
#include <bits/stdc++.h> using namespace std; const int len = 5e5+5, inf = 1e9; int arr[len], out[len], val[4*len], n; void build(int p, int l, int r){ val[p] = inf; if (l == r) return; int mid = (l+r)/2; build(2*p, l, mid); build(2*p+1, mid+1, r); } void prop(int p, int l, int r){ if (val[p] == inf || l == r) return; val[2*p] = min(val[2*p], val[p]); val[2*p+1] = min(val[2*p+1], val[p]); val[p] = inf; } void upd(int p, int l, int r, int i, int j, int v){ prop(p, l, r); if (r < i || j < l) return; if (i <= l && r <= j) return void(val[p] = min(val[p], v)); int mid = (l+r)/2; upd(2*p, l, mid, i, j, v); upd(2*p+1, mid+1, r, i, j, v); } int ask(int p, int l, int r){ prop(p, l, r); if (l == r) return val[p]; int mid = (l+r)/2; return max(ask(2*p, l, mid), ask(2*p+1, mid+1, r)); } void change(int i, int j, int v){ if (i <= j){ upd(1, 0, n-1, i, j, v); } else{ upd(1, 0, n-1, i, n-1, v); upd(1, 0, n-1, 0, j, v); } } int main(){ scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &arr[i]); build(1, 0, n-1); int k = (n+1)/2; for (int i = 0, j = 0, sum = 0; i < n; i++){ while ((n+j-i)%n < k){ sum += arr[j]; j = (j+1)%n; } change(i, (j+n-1)%n, sum); sum -= arr[i]; } printf("%d\n", ask(1, 0, n-1)); return 0; }

Compilation message (stderr)

hac.cpp: In function 'int main()':
hac.cpp:59:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
hac.cpp:61:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &arr[i]);
         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...