# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
838055 | 2023-08-26T07:21:25 Z | tolbi | 자동 인형 (IOI18_doll) | C++17 | 106 ms | 12660 KB |
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define coutarr(x) for(auto &it : x) cout<<it<<" ";cout<<endl; #define tol(bi) (1LL<<((long long)(bi))) void create_circuit(int M, vector<int> A) { int n = A.size(); vector<int> X(tol(ceil(log2(n+1)))-1); vector<int> Y(X.size()); int S = X.size(); int cnt = n; for (int i = 0; i < S; i++){ X[i]=(i+1)*2; Y[i]=(i+1)*2+1; if (X[i]>S){ if (cnt) X[i]=n+1-(cnt--); else X[i]=-1; } else X[i]=-X[i]; if (Y[i]>S){ if (cnt) Y[i]=n+1-(cnt--); else Y[i]=-1; } else Y[i]=-Y[i]; } Y.back()=0; vector<bool> gerekli(S,false); for (int i = S-1; i >= 0; i--){ if (X[i]>=0 || Y[i]>=0 || (X[i]<0 && Y[i]<0 && (gerekli[(-X[i])-1] || gerekli[(-Y[i])-1]))) gerekli[i]=true; } cnt=1; vector<int> gercek(S,-1); vector<int> x; vector<int> y; for (int i = 0; i < S; ++i) { if (gerekli[i]){ gercek[i]=cnt++; } } for (int i = 0; i < S; i++){ if (!gerekli[i]) continue; if (X[i]>=-1){ x.push_back(X[i]); y.push_back(Y[i]); continue; } int xv = gercek[(-X[i])-1]; int yv = gercek[(-Y[i])-1]; if (xv!=-1) xv=-xv; if (yv!=-1) yv=-yv; x.push_back(xv); y.push_back(yv); } vector<int> C(M+1,-1); vector<int> gez; int node = -1; vector<int> state(S,0); while (gez.size()<n){ if (node>=0){ gez.push_back(node); node=-1; } else { node=-node-1; if (state[node]==0) state[node]=1; else state[node]=0; if (state[node]==1){ node=x[node]; } else node=y[node]; } } vector<int> val(n+1); for (int i = 0; i < n; ++i) { val[gez[i]]=A[i]; } for (int i = 0; i < S; i++){ if (x[i]>0) x[i]=val[x[i]]; if (y[i]>0) y[i]=val[y[i]]; } answer(C,x,y); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 1 ms | 212 KB | Output is correct |
8 | Correct | 1 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 212 KB | Output is partially correct |
2 | Correct | 67 ms | 10084 KB | Output is correct |
3 | Partially correct | 76 ms | 9624 KB | Output is partially correct |
4 | Partially correct | 96 ms | 12396 KB | Output is partially correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 212 KB | Output is partially correct |
2 | Correct | 67 ms | 10084 KB | Output is correct |
3 | Partially correct | 76 ms | 9624 KB | Output is partially correct |
4 | Partially correct | 96 ms | 12396 KB | Output is partially correct |
5 | Partially correct | 102 ms | 12660 KB | Output is partially correct |
6 | Partially correct | 99 ms | 12496 KB | Output is partially correct |
7 | Partially correct | 100 ms | 12520 KB | Output is partially correct |
8 | Partially correct | 99 ms | 12476 KB | Output is partially correct |
9 | Partially correct | 82 ms | 9492 KB | Output is partially correct |
10 | Partially correct | 98 ms | 12456 KB | Output is partially correct |
11 | Partially correct | 98 ms | 12396 KB | Output is partially correct |
12 | Partially correct | 69 ms | 9488 KB | Output is partially correct |
13 | Correct | 66 ms | 10088 KB | Output is correct |
14 | Partially correct | 75 ms | 9792 KB | Output is partially correct |
15 | Partially correct | 72 ms | 9836 KB | Output is partially correct |
16 | Partially correct | 2 ms | 596 KB | Output is partially correct |
17 | Correct | 60 ms | 7652 KB | Output is correct |
18 | Correct | 67 ms | 10000 KB | Output is correct |
19 | Partially correct | 67 ms | 9568 KB | Output is partially correct |
20 | Partially correct | 106 ms | 12388 KB | Output is partially correct |
21 | Partially correct | 99 ms | 12336 KB | Output is partially correct |
22 | Partially correct | 100 ms | 12440 KB | Output is partially correct |