# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
312116 | tengiz05 | 자동 인형 (IOI18_doll) | C++17 | 43 ms | 4652 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
void create_circuit(int m, vector<int> a) {
int n = a.size();
vector<int> c(m + 1, 0);
vector<int> cnt(m+1);
vector<int> used(m+1);
vector<int> X, Y;
for(int i=0;i<n;i++)cnt[a[i]]++;
vector<int> ind(m+1);
int tt = 0;
for(int i=0;i<=m;i++){
if(cnt[i] == 2){
ind[i] = tt;tt++;
X.push_back(0);
Y.push_back(0);
}
}
int now = 0;
int t = -1;
for(int i=0;i<n;i++){
if(cnt[now] == 2){
if(used[now]){
Y[ind[now]] = a[i];
now = a[i];
}else {
X[ind[now]] = a[i];
used[now] = 1;
c[now] = t;
now = a[i];
t--;
}
}else {
c[now] = a[i];
now = a[i];
}
}//c[now] = 0;
for(int i=0;i<X.size();i++){
if(Y[i] < 0)swap(X[i], Y[i]);
}
answer(c, X, Y);
}
/*
4 4
1 1 2 2
*/
Compilation message (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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |