제출 #779326

#제출 시각아이디문제언어결과실행 시간메모리
779326sofija6Unscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
1 ms340 KiB
#include <bits/stdc++.h>

#include "messy.h"
using namespace std;

std::vector<int> restore_permutation(int n, int w, int r) {
    string s="";
    std::vector<int> ans;
    for (int i=0;i<n;i++)
    {
        s+='0';
        ans.push_back(0);
    }
    for (int i=0;i<n;i++)
    {
        s[i]='1';
        add_element(s);
    }
    for (int i=0;i<n;i++)
        s[i]='0';
    compile_set();
    for (int i=0;i<n;i++)
    {
        string cur=s;
        int pos=-1,l=0,r=n-1,mid;
        while (l<=r)
        {
            mid=(l+r)/2;
            for (int j=l;j<=mid;j++)
            {
                if (cur[j]=='0')
                {
                    cur[j]='1';
                    if (check_element(cur))
                    {
                        pos=j;
                        break;
                    }
                    cur[j]='0';
                }
            }
            if (pos!=-1)
                break;
            l=mid+1;
        }
        cur[pos]='1';
        ans[pos]=i;
        s=cur;
    }
    return ans;
}
#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...