# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
98591 |
2019-02-24T17:02:46 Z |
someone_aa |
popa (BOI18_popa) |
C++17 |
|
2 ms |
384 KB |
#include <bits/stdc++.h>
#include "popa.h"
#define ll long long
#define pb push_back
#define mp make_pair
using namespace std;
const int maxn = 1100;
/*int query(int a, int b, int c, int d) {
cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
int answer;
cin>>answer;
return answer;
}*/
int parent[maxn];
int li[maxn], ri[maxn];
int solvef(int l, int r) {
if(l > r) return -1;
if(l == r) return l;
int lb = l, rb = r;
int index = INT_MAX;
while(lb < rb) {
int mid = (lb + rb) / 2;
if(mid > r || mid < l) break;
if(query(l, mid, mid, r)) {
rb = mid;
index = min(index, mid);
}
else {
lb = mid+1;
}
}
//cout<<"["<<l<<", "<<r<<"] -> "<<index<<"\n";
li[index] = solvef(l, index-1);
ri[index] = solvef(index+1, r);
return index;
}
// solve function
int solve(int n, int *l , int *r) {
for(int i=0;i<n;i++) {
li[i] = ri[i] = -1;
parent[i] = i;
}
int x = solvef(0, n-1);
for(int i=0;i<n;i++) {
l[i] = li[i];
r[i] = ri[i];
//cout<<i<<": "<<l[i]<<" "<<r[i]<<"\n";
}
return x;
}
/*int main() {
int a[6], b[6];
cout<<solve(6, a, b);
return 0;
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
invalid argument |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
invalid argument |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
384 KB |
invalid argument |
2 |
Halted |
0 ms |
0 KB |
- |