Submission #61928

# Submission time Handle Problem Language Result Execution time Memory
61928 2018-07-27T05:36:22 Z koosaga(#1793) popa (BOI18_popa) C++11
61 / 100
225 ms 604 KB
#include <bits/stdc++.h>
#include "popa.h"
using namespace std;
typedef pair<int, int> pi;
typedef long long lint;

int go(int s, int e, int *l, int *r){
	if(s > e) return -1;
	if(s == e) return s;
	int lp = s, rp = e;
	while(true){
		if(query(lp, lp, s, e) == 1){
			l[lp] = go(s, lp - 1, l, r);
			r[lp] = go(lp + 1, e, l, r);
			return lp;
		}
		lp++;
		if(query(rp, rp, s, e) == 1){
			l[rp] = go(s, rp - 1, l, r);
			r[rp] = go(rp + 1, e, l, r);
			return rp;
		}
		rp--;
	}
	assert(0);
}

int solve(int N, int *l, int *r){
	for(int i=0; i<N; i++) l[i] = r[i] = -1;
	return go(0, N-1, l, r);
}
# Verdict Execution time Memory Grader output
1 Correct 17 ms 248 KB Output is correct
2 Correct 13 ms 436 KB Output is correct
3 Correct 19 ms 436 KB Output is correct
4 Correct 14 ms 436 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 155 ms 572 KB Output is correct
2 Correct 121 ms 596 KB Output is correct
3 Correct 173 ms 596 KB Output is correct
4 Correct 225 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 23 ms 604 KB too many queries
2 Halted 0 ms 0 KB -