Submission #294791

#TimeUsernameProblemLanguageResultExecution timeMemory
294791kshitij_sodaniMechanical Doll (IOI18_doll)C++14
16 / 100
141 ms11728 KiB
#include <bits/stdc++.h>
using namespace std;
#define a first
#define b second
#define pb push_back
#define mp make_pair
typedef long long llo;

#include "doll.h"
vector<int> pre[100001];
void create_circuit(int m, vector<int> aa) {
	int n=aa.size();
	vector<int> ac;
	vector<int> x;
	vector<int> y;
	for(int i=0;i<=m;i++){
		ac.pb(0);
	}
	ac[0]=aa[0];
	for(int i=0;i<aa.size()-1;i++){
		pre[aa[i]].pb(aa[i+1]);
	}
	pre[aa.back()].pb(0);
	int cur=0;
	for(int i=1;i<=m;i++){
		if(pre[i].size()==1){
			ac[i]=pre[i][0];
		}
		else if(pre[i].size()==2){
			cur--;
			ac[i]=cur;
			x.pb(pre[i][0]);
			y.pb(pre[i][1]);
		}
		else if(pre[i].size()==3){
			cur--;
			ac[i]=cur;
			x.pb(cur-1);
			y.pb(cur-2);
			cur--;
			x.pb(pre[i][0]);
			y.pb(cur+1);
			cur--;
			x.pb(pre[i][1]);
			y.pb(pre[i][2]);
		}
		else if(pre[i].size()==4){
			cur--;
			ac[i]=cur;
			x.pb(cur-1);
			y.pb(cur-2);
			cur--;
			x.pb(pre[i][0]);
			y.pb(pre[i][2]);
			cur--;
			x.pb(pre[i][1]);
			y.pb(pre[i][3]);
		}
	}
	answer(ac,x,y);









}

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:20:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |  for(int i=0;i<aa.size()-1;i++){
      |              ~^~~~~~~~~~~~
doll.cpp:12:6: warning: unused variable 'n' [-Wunused-variable]
   12 |  int n=aa.size();
      |      ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...