Submission #98605

# Submission time Handle Problem Language Result Execution time Memory
98605 2019-02-24T18:08:20 Z someone_aa popa (BOI18_popa) C++17
0 / 100
4 ms 640 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;
}*/

bool qq(int a, int b, int c, int d) {
    if(b < a || c < d) return false;
    else return query(a, b, c, d);
}

int n;
int parent[maxn];
int li[maxn], ri[maxn];
int solvef(int l, int r) {
    if(l > r) return -1;
    else if(l == r) return l;

    int index = r;
    for(int cekor=n/2;cekor>0;cekor/=2) {
        while(index-cekor>=l && qq(l, index-cekor, index-cekor, r )) index-=cekor;
    }

    li[index] = solvef(l, index-1);
    ri[index] = solvef(index+1, r);

    //cout<<"["<<l<<", "<<r<<"] -> "<<index<<"\n";

    return index;
}
// solve function
int solve(int N, int *l , int *r) {
    for(int i=0;i<N;i++) {
        li[i] = ri[i] = -1;
    }
    n = N;
    int x = solvef(0, n-1);
    for(int i=0;i<n;i++) {
        l[i] = li[i];
        r[i] = ri[i];
    }
    return x;
}

/*int main() {
    int a[6], b[6];
    cout<<solve(6, a, b);
    return 0;
}*/
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 500 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 4 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -