Submission #143103

#TimeUsernameProblemLanguageResultExecution timeMemory
143103cfalasMechanical Doll (IOI18_doll)C++14
2 / 100
26 ms4536 KiB
#include "doll.h"
#include<bits/stdc++.h>

using namespace std;

void create_circuit(int M, std::vector<int> A) {
	int N = A.size();
	std::vector<int> C(M + 1);
	C[0] = A[0];
	int cnt[M+1] = {};
	for(int i=0;i<A.size();i++){
		cnt[A[i]]++;
	}
	C[0] = A[0];
	int s=0;
	int used[M+1] = {};
	vector<int> X, Y;
	for(int i=0;i<A.size()-1;i++){
		//cout<<i<<" "<<A[i]<<" "<<cnt[A[i]]<<" "<<used[A[i]]<<endl;
		if(cnt[A[i]]==1) C[A[i]] = A[i+1];
		else{
			used[A[i]]++;
			if(used[A[i]]==1){
				s++;
				C[A[i]] = -s;
				X.push_back(A[i+1]);
				X[s] = A[i+1];
			}
			else{
				Y.push_back(A[i+1]);
				Y[s] = A[i+1];
			}
		}
		//cout<<"--\n";
	}
	//cout<<A.size()-1<<" "<<A[A.size()-1]<<" "<<cnt[A[A.size()-1]]<<"\n";
	if(cnt[A[A.size()-1]]==1) C[A[A.size()-1]] = 0;
	else{
		Y.push_back(0);
		C[A[A.size()-1]] = -s, Y[s] = 0;
	}
	/*for(int i=0;i<=M;i++) cout<<C[i]<<" ";
	cout<<endl;
	for(int i=0;i<X.size();i++) cout<<X[i]<<" "<<Y[i]<<endl;*/
	answer(C, X, Y);
}

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:11:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |  for(int i=0;i<A.size();i++){
      |              ~^~~~~~~~~
doll.cpp:18:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |  for(int i=0;i<A.size()-1;i++){
      |              ~^~~~~~~~~~~
doll.cpp:7:6: warning: unused variable 'N' [-Wunused-variable]
    7 |  int N = A.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...