# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
239093 |
2020-06-14T11:06:10 Z |
lyc |
Ancient Books (IOI17_books) |
C++14 |
|
218 ms |
17656 KB |
#include "books.h"
#include <bits/stdc++.h>
using namespace std;
#define TRACE(x) cout << #x << " :: " << x << endl;
#define _ << " " <<
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
#define RFOR(i,a,b) for(int i=(a);i>=(b);--i)
#define SZ(x) ((int)(x).size())
#define ALL(x) (x).begin(),(x).end()
const int mxN = 1e6+5;
int N, L, R;
int go[mxN][2];
void ext(int& l, int& r) {
int x = l, y = r;
do {
FOR(j,0,1){
if (l >= x && go[l][j] != -1) x = min(x,go[l][j]), y = max(y,go[l][j]);
if (r <= y && go[r][j] != -1) x = min(x,go[r][j]), y = max(y,go[r][j]);
}
--l, ++r;
} while (x <= l || r <= y);
l = x, r = y;
}
long long minimum_walk(std::vector<int> p, int s) {
N = SZ(p);
long long lb = 0;
L = N-1, R = 0;
memset(go,-1,sizeof go);
FOR(i,0,N-1){
if (i != p[i]) {
lb += abs(p[i]-i);
L = min({L,i,p[i]}), R = max({R,i,p[i]});
FOR(j,0,1) if (go[i][j] == -1) { go[i][j] = p[i]; break; }
FOR(j,0,1) if (go[p[i]][j] == -1) { go[p[i]][j] = i; break; }
}
}
long long add = 0;
int l = s, r = s;
for (;;) {
ext(l,r);
if (l <= L && r >= R) break;
add += 2;
if (l > 0) --l;
if (r < N-1) ++r;
}
//TRACE(lb _ add);
return lb + add;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
8192 KB |
Output is correct |
2 |
Correct |
9 ms |
8192 KB |
Output is correct |
3 |
Correct |
8 ms |
8192 KB |
Output is correct |
4 |
Correct |
9 ms |
8192 KB |
Output is correct |
5 |
Correct |
9 ms |
8192 KB |
Output is correct |
6 |
Correct |
9 ms |
8192 KB |
Output is correct |
7 |
Correct |
9 ms |
8192 KB |
Output is correct |
8 |
Correct |
9 ms |
8192 KB |
Output is correct |
9 |
Correct |
9 ms |
8192 KB |
Output is correct |
10 |
Correct |
8 ms |
8192 KB |
Output is correct |
11 |
Correct |
9 ms |
8192 KB |
Output is correct |
12 |
Correct |
9 ms |
8192 KB |
Output is correct |
13 |
Correct |
9 ms |
8192 KB |
Output is correct |
14 |
Correct |
8 ms |
8192 KB |
Output is correct |
15 |
Correct |
8 ms |
8192 KB |
Output is correct |
16 |
Correct |
8 ms |
8192 KB |
Output is correct |
17 |
Correct |
9 ms |
8192 KB |
Output is correct |
18 |
Correct |
8 ms |
8192 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
8192 KB |
Output is correct |
2 |
Correct |
9 ms |
8192 KB |
Output is correct |
3 |
Correct |
8 ms |
8192 KB |
Output is correct |
4 |
Correct |
9 ms |
8192 KB |
Output is correct |
5 |
Correct |
9 ms |
8192 KB |
Output is correct |
6 |
Correct |
9 ms |
8192 KB |
Output is correct |
7 |
Correct |
9 ms |
8192 KB |
Output is correct |
8 |
Correct |
9 ms |
8192 KB |
Output is correct |
9 |
Correct |
9 ms |
8192 KB |
Output is correct |
10 |
Correct |
8 ms |
8192 KB |
Output is correct |
11 |
Correct |
9 ms |
8192 KB |
Output is correct |
12 |
Correct |
9 ms |
8192 KB |
Output is correct |
13 |
Correct |
9 ms |
8192 KB |
Output is correct |
14 |
Correct |
8 ms |
8192 KB |
Output is correct |
15 |
Correct |
8 ms |
8192 KB |
Output is correct |
16 |
Correct |
8 ms |
8192 KB |
Output is correct |
17 |
Correct |
9 ms |
8192 KB |
Output is correct |
18 |
Correct |
8 ms |
8192 KB |
Output is correct |
19 |
Correct |
8 ms |
8192 KB |
Output is correct |
20 |
Correct |
9 ms |
8192 KB |
Output is correct |
21 |
Correct |
10 ms |
8192 KB |
Output is correct |
22 |
Correct |
9 ms |
8192 KB |
Output is correct |
23 |
Correct |
9 ms |
8192 KB |
Output is correct |
24 |
Correct |
9 ms |
8192 KB |
Output is correct |
25 |
Correct |
8 ms |
8192 KB |
Output is correct |
26 |
Correct |
10 ms |
8192 KB |
Output is correct |
27 |
Correct |
10 ms |
8192 KB |
Output is correct |
28 |
Correct |
9 ms |
8192 KB |
Output is correct |
29 |
Correct |
9 ms |
8192 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
8192 KB |
Output is correct |
2 |
Correct |
9 ms |
8192 KB |
Output is correct |
3 |
Correct |
8 ms |
8192 KB |
Output is correct |
4 |
Correct |
9 ms |
8192 KB |
Output is correct |
5 |
Correct |
9 ms |
8192 KB |
Output is correct |
6 |
Correct |
9 ms |
8192 KB |
Output is correct |
7 |
Correct |
9 ms |
8192 KB |
Output is correct |
8 |
Correct |
9 ms |
8192 KB |
Output is correct |
9 |
Correct |
9 ms |
8192 KB |
Output is correct |
10 |
Correct |
8 ms |
8192 KB |
Output is correct |
11 |
Correct |
9 ms |
8192 KB |
Output is correct |
12 |
Correct |
9 ms |
8192 KB |
Output is correct |
13 |
Correct |
9 ms |
8192 KB |
Output is correct |
14 |
Correct |
8 ms |
8192 KB |
Output is correct |
15 |
Correct |
8 ms |
8192 KB |
Output is correct |
16 |
Correct |
8 ms |
8192 KB |
Output is correct |
17 |
Correct |
9 ms |
8192 KB |
Output is correct |
18 |
Correct |
8 ms |
8192 KB |
Output is correct |
19 |
Correct |
8 ms |
8192 KB |
Output is correct |
20 |
Correct |
9 ms |
8192 KB |
Output is correct |
21 |
Correct |
10 ms |
8192 KB |
Output is correct |
22 |
Correct |
9 ms |
8192 KB |
Output is correct |
23 |
Correct |
9 ms |
8192 KB |
Output is correct |
24 |
Correct |
9 ms |
8192 KB |
Output is correct |
25 |
Correct |
8 ms |
8192 KB |
Output is correct |
26 |
Correct |
10 ms |
8192 KB |
Output is correct |
27 |
Correct |
10 ms |
8192 KB |
Output is correct |
28 |
Correct |
9 ms |
8192 KB |
Output is correct |
29 |
Correct |
9 ms |
8192 KB |
Output is correct |
30 |
Correct |
218 ms |
17528 KB |
Output is correct |
31 |
Correct |
203 ms |
17528 KB |
Output is correct |
32 |
Correct |
155 ms |
17656 KB |
Output is correct |
33 |
Correct |
168 ms |
17656 KB |
Output is correct |
34 |
Correct |
174 ms |
17528 KB |
Output is correct |
35 |
Correct |
174 ms |
17528 KB |
Output is correct |
36 |
Correct |
173 ms |
17532 KB |
Output is correct |
37 |
Correct |
182 ms |
17528 KB |
Output is correct |
38 |
Correct |
180 ms |
17528 KB |
Output is correct |
39 |
Correct |
182 ms |
17528 KB |
Output is correct |
40 |
Correct |
182 ms |
17656 KB |
Output is correct |
41 |
Correct |
200 ms |
17528 KB |
Output is correct |
42 |
Correct |
197 ms |
17528 KB |
Output is correct |
43 |
Correct |
172 ms |
17532 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
8192 KB |
Output is correct |
2 |
Correct |
8 ms |
8192 KB |
Output is correct |
3 |
Correct |
9 ms |
8192 KB |
Output is correct |
4 |
Incorrect |
9 ms |
8192 KB |
3rd lines differ - on the 1st token, expected: '2094', found: '1592' |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
8192 KB |
Output is correct |
2 |
Correct |
9 ms |
8192 KB |
Output is correct |
3 |
Correct |
8 ms |
8192 KB |
Output is correct |
4 |
Correct |
9 ms |
8192 KB |
Output is correct |
5 |
Correct |
9 ms |
8192 KB |
Output is correct |
6 |
Correct |
9 ms |
8192 KB |
Output is correct |
7 |
Correct |
9 ms |
8192 KB |
Output is correct |
8 |
Correct |
9 ms |
8192 KB |
Output is correct |
9 |
Correct |
9 ms |
8192 KB |
Output is correct |
10 |
Correct |
8 ms |
8192 KB |
Output is correct |
11 |
Correct |
9 ms |
8192 KB |
Output is correct |
12 |
Correct |
9 ms |
8192 KB |
Output is correct |
13 |
Correct |
9 ms |
8192 KB |
Output is correct |
14 |
Correct |
8 ms |
8192 KB |
Output is correct |
15 |
Correct |
8 ms |
8192 KB |
Output is correct |
16 |
Correct |
8 ms |
8192 KB |
Output is correct |
17 |
Correct |
9 ms |
8192 KB |
Output is correct |
18 |
Correct |
8 ms |
8192 KB |
Output is correct |
19 |
Correct |
8 ms |
8192 KB |
Output is correct |
20 |
Correct |
9 ms |
8192 KB |
Output is correct |
21 |
Correct |
10 ms |
8192 KB |
Output is correct |
22 |
Correct |
9 ms |
8192 KB |
Output is correct |
23 |
Correct |
9 ms |
8192 KB |
Output is correct |
24 |
Correct |
9 ms |
8192 KB |
Output is correct |
25 |
Correct |
8 ms |
8192 KB |
Output is correct |
26 |
Correct |
10 ms |
8192 KB |
Output is correct |
27 |
Correct |
10 ms |
8192 KB |
Output is correct |
28 |
Correct |
9 ms |
8192 KB |
Output is correct |
29 |
Correct |
9 ms |
8192 KB |
Output is correct |
30 |
Correct |
218 ms |
17528 KB |
Output is correct |
31 |
Correct |
203 ms |
17528 KB |
Output is correct |
32 |
Correct |
155 ms |
17656 KB |
Output is correct |
33 |
Correct |
168 ms |
17656 KB |
Output is correct |
34 |
Correct |
174 ms |
17528 KB |
Output is correct |
35 |
Correct |
174 ms |
17528 KB |
Output is correct |
36 |
Correct |
173 ms |
17532 KB |
Output is correct |
37 |
Correct |
182 ms |
17528 KB |
Output is correct |
38 |
Correct |
180 ms |
17528 KB |
Output is correct |
39 |
Correct |
182 ms |
17528 KB |
Output is correct |
40 |
Correct |
182 ms |
17656 KB |
Output is correct |
41 |
Correct |
200 ms |
17528 KB |
Output is correct |
42 |
Correct |
197 ms |
17528 KB |
Output is correct |
43 |
Correct |
172 ms |
17532 KB |
Output is correct |
44 |
Correct |
9 ms |
8192 KB |
Output is correct |
45 |
Correct |
8 ms |
8192 KB |
Output is correct |
46 |
Correct |
9 ms |
8192 KB |
Output is correct |
47 |
Incorrect |
9 ms |
8192 KB |
3rd lines differ - on the 1st token, expected: '2094', found: '1592' |
48 |
Halted |
0 ms |
0 KB |
- |