Submission #770125

# Submission time Handle Problem Language Result Execution time Memory
770125 2023-06-30T19:19:51 Z APROHACK Ancient Books (IOI17_books) C++14
12 / 100
1 ms 316 KB
#include "books.h"
#include <bits/stdc++.h>
#define ll long long 
#define ff first
#define ss second
#define pb push_back
using namespace std;
int n;
int startTo[1000000];

int searchR(int pos){
	for(int i = pos ; i < n ; i ++){
		if(startTo[i] != -1)return i;
	}
	return -1;
}
int searchL(int pos){
	for(int i = pos-1 ; i>= 0 ; i --){
		if(startTo[i] != -1)return i;
	}
	return -1;
}

long long minimum_walk(std::vector<int> p, int s) {
	n = p.size();
	int cont = 0;
	for(int i = 0 ; i < n ; i ++){
		startTo[i] = -1;
		if(p[i] > i){
			startTo[i] = p[i];
			cont ++;
		}
	}
	int pos = 0, temp;
	ll ans = 0;
	while(true){
		int nextR = searchR(pos);
		if(nextR != -1){
			ans += nextR-pos;
			pos = nextR;
			//cout << "move to " << nextR << endl;
			ans+= startTo[pos]-pos;
			temp = pos;
			pos = startTo[pos];
			
			//cout << "move to " << startTo[temp] << endl;
			startTo[temp] = -1;
			continue;
		}
		int nextL = searchL(pos);
		if(nextL != -1){
			ans += pos-nextL;
			pos = nextL;
			//cout << "move to " << nextL << endl;
			ans += startTo[pos] - pos;
			temp = pos;
			pos = startTo[pos];
			
			
			//cout << "move to " << startTo[temp] << endl;
			startTo[temp] = -1;
			continue;
		}
		ans+= pos;
		return ans;
	}
	
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 312 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 308 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 312 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 312 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 308 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 312 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Incorrect 1 ms 312 KB 3rd lines differ - on the 1st token, expected: '338572', found: '338586'
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 312 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 308 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 312 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Incorrect 1 ms 312 KB 3rd lines differ - on the 1st token, expected: '338572', found: '338586'
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB 3rd lines differ - on the 1st token, expected: '3304', found: '2744'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 312 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 308 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 312 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Incorrect 1 ms 312 KB 3rd lines differ - on the 1st token, expected: '338572', found: '338586'
20 Halted 0 ms 0 KB -