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 "grader.cpp"
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,m,ind=1;
vector<int> x, y;
vector<vector<int>>way;
void create_circuit(int M, vector<int> a) {
n=a.size();
m=M;
vector<int>c(m+1,0);
way.resize(m+1);
c[0]=a[0];
for(int i=0;i<n-1;i++){
way[a[i]].push_back(a[i+1]);
c[a[i]]=a[i+1];
}
for(int i=1;i<=m;i++){
int s=way[i].size();
if(s<=1) continue;
c[i]=-ind;
ind++;
if(s==2){
x.push_back(way[i][0]);
y.push_back(way[i][1]);
}
if(s==3){
y.push_back(way[i][2]);
x.push_back(-ind);
ind++;
x.push_back(way[i][0]);
y.push_back(way[i][1]);
}
if(s==4){
x.push_back(-ind);
ind++;
y.push_back(-ind);
ind++;
x.push_back(way[i][0]);
x.push_back(way[i][2]);
y.push_back(way[i][1]);
y.push_back(way[i][3]);
}
}
/*
for(int i=0;i<c.size();i++)
cout<<c[i]<<" ";
cout<<"\n";
for(int i=0;i<x.size();i++)
cout<<x[i]<<" "<<y[i]<<" \n";
*/
answer(c,x,y);
}
/*
9 9
2 9 8 1 3 7 6 4 5
4 4
1 2 1 3
6 6
1 2 1 3 1 4
*/
# | 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... |