| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1192709 | simona1230 | Unscrambling a Messy Bug (IOI16_messy) | C++20 | 2 ms | 2888 KiB |
#include "messy.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> v[100001];
int num;
vector<int> ans;
void rec(int i,int l,int r)
{
/*cout<<i<<" "<<l<<" "<<r<<endl;
for(auto j:v[i])
cout<<j<<" ";
cout<<endl;*/
if(l==r)
{
ans[v[i][0]]=l;
return;
}
string s="";
for(int j=0;j<num;j++)
s+='0';
for(auto j:v[i])
s[j]='1';
int m=(l+r)/2;
for(auto j:v[i])
{
s[j]='0';
if(check_element(s))
v[i*2].push_back(j);
else v[i*2+1].push_back(j);
s[j]='1';
}
rec(i*2,l,m);
rec(i*2+1,m+1,r);
}
std::vector<int> restore_permutation(int n, int w, int r)
{
num=n;
int x=n;
while(x!=1)
{
string s="";
for(int i=0;i<n;i++)
s+='0';
for(int i=0;i<n;i+=x)
{
string s1=s;
for(int j=0;j<x;j++)
s1[i+j]='1';
for(int j=0;j<x/2;j++)
{
s1[i+j]='0';
//cout<<s1<<endl;
add_element(s1);
s1[i+j]='1';
}
}
x/=2;
}
compile_set();
for(int i=0;i<n;i++)
ans.push_back(0),
v[1].push_back(i);
rec(1,0,n-1);
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
