# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
299036 | keko37 | 고대 책들 (IOI17_books) | C++14 | 264 ms | 36472 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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... |