제출 #1364460

#제출 시각아이디문제언어결과실행 시간메모리
1364460mariza자동 인형 (IOI18_doll)C++20
37 / 100
31 ms8856 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)); 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);
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…