Submission #1244519

#TimeUsernameProblemLanguageResultExecution timeMemory
1244519uroskICC (CEOI16_icc)C++20
0 / 100
1 ms584 KiB
#include "bits/stdc++.h"
#include "icc.h"
#define pb push_back

using namespace std;

using ll = int;

const ll maxn = 105;
const ll lg = 7;
ll n;
ll a[maxn];
ll b[maxn];
ll c[maxn];
ll asz = 0,bsz = 0,csz = 0;
void run(ll N){
    n = N;
    for(ll ff = 0;ff<n-1;ff++){
        for(ll j = 0;j<lg;j++){
            asz = 0,bsz = 0;
            for(ll i = 1;i<=n;i++){
                if((1<<j)&i) a[asz++] = i;
                else b[bsz++] = i;
            }
            if(query(asz,bsz,a,b)){
                ll tl = 1,tr = bsz,mid;
                while(tl<tr){
                    mid = (tl+tr)/2;
                    csz = 0;
                    for(ll i = tl;i<=mid;i++) c[csz++] = b[i];
                    if(query(asz,csz,a,c)) tr = mid;
                    else tl = mid+1;
                }
                b[1] = b[tl];
                bsz = 1;
                tl = 1,tr = asz,mid;
                while(tl<=tr){
                    mid = (tl+tr)/2;
                    csz = 0;
                    for(ll i = tl;i<=mid;i++) c[csz++] = a[i];
                    if(query(csz,bsz,c,b)) tr = mid;
                    else tl = mid+1;
                }
                setRoad(b[1],a[tl]);
                break;
            }
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...