# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
299036 | keko37 | Ancient Books (IOI17_books) | C++14 | 264 ms | 36472 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>
#include "books.h"
using namespace std;
typedef long long llint;
typedef vector <int> vi;
typedef pair <int, int> pi;
const int MAXN = 1000005;
llint n, s, sol, cnt;
int curr_lef, curr_rig, lim_lef, lim_rig, edge_lef = -1, edge_rig = -1;
int p[MAXN], ok_pref[MAXN], ok_suf[MAXN];
int bio[MAXN], lo[MAXN], hi[MAXN];
void precompute_ok () {
for (int i = 0; i < n; i++) {
if (i > 0) ok_pref[i] |= ok_pref[i - 1];
if (i != p[i]) ok_pref[i] = 1;
if (ok_pref[i] == 1 && edge_lef == -1) edge_lef = i;
}
for (int i = n-1; i >= 0; i--) {
if (i + 1 < n) ok_suf[i] |= ok_suf[i + 1];
if (i != p[i]) ok_suf[i] = 1;
if (ok_suf[i] == 1 && edge_rig == -1) edge_rig = i;
}
while (ok_pref[s] == 0) s++, sol += 2;
while (ok_suf[s] == 0) s--, sol += 2;
}
# | 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... |