Submission #1364377

#TimeUsernameProblemLanguageResultExecution timeMemory
1364377marizaMechanical Doll (IOI18_doll)C++20
37 / 100
30 ms8732 KiB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

void create_circuit(int m, vector<int> a) {
    ll n=a.size()+1;

    ll k=0;
    while((1ll<<k)<n){
        k++;
    }

    while(a.size()<(1ll<<k)-1) a.push_back(-1);
    a.push_back(0);

    vector<int> c(m+1,-1);

    vector<int> s0, s1;
    for(ll i=1; i<=(1ll<<(k-1))-1; i++){
        s0.push_back(-2*i);
        s1.push_back(-2*i-1);
    }
    for(ll i=(1ll<<(k-1)); i<(1ll<<k); i++){
        ll idx=0;
        for(ll j=0; j<k-1; j++){
            idx*=2;
            if(i&(1ll<<j)) idx++;
        }

        // cout<<i<<" "<<idx<<endl;

        s0.push_back(a[idx]);
        s1.push_back(a[(1ll<<k-1)+idx]);
    }

    answer(c,s0,s1);
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...