# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
847419 | qwerasdfzxcl | Mizuyokan 2 (JOI23_mizuyokan2) | C++17 | 4029 ms | 25156 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
constexpr int INF1 = 1e9 + 100;
int n;
int a[250250];
int go[250250], sp[250250][20];
ll S[250250];
void init(int n){
for (int i=1;i<=n;i++) S[i] = S[i-1] + a[i];
go[n+1] = n+1;
for (int i=1;i<=n;i++){
go[i] = n+1;
for (int j=i+2;j<=min(i+50, n);j++) if (S[j-1] - S[i] > max(a[i], a[j])){
go[i] = j;
break;
}
}
for (int i=n;i;i--) go[i] = min(go[i], go[i+1]);
for (int i=n;i;i--) assert(go[i] - i <= 50);
for (int i=1;i<=n+1;i++) sp[i][0] = go[i];
for (int j=1;j<20;j++){
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |