Submission #290794

#TimeUsernameProblemLanguageResultExecution timeMemory
290794kshitij_sodaniScales (IOI15_scales)C++14
0 / 100
1 ms384 KiB
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
#define a first
#define b second
#define pb push_back
 
void init(int T) {
    /* ... */
}
 
void orderCoins() {
    /* ... */
 
	vector<int> cur;
	int aa=1;
	int bb=2;
	int cc=3;
	cur.pb(getLightest(aa,bb,cc));
	cur.pb(getMedian(aa,bb,cc));
	for(int i=1;i<=3;i++){
		if(i!=cur[0] and i!=cur[1]){
			cur.pb(i);
		}
	}
	//int x=getMedian(cur[0],cur[1],4);


/*	if(x==cur[0]){
		int jj=0;
		vector<int> cur2;
		for(int j=0;j<jj;j++){
			cur2.pb(cur[j]);
		}
		cur2.pb(4);
		for(int j=jj;jj<cur.size();j++){
			cur2.pb(cur[j]);
		}
		cur=cur2;
	}
	else if(x==cur[1]){

	}
	else{
		int jj=1;
		vector<int> cur2;
		for(int j=0;j<jj;j++){
			cur2.pb(cur[j]);
		}
		cur2.pb(4);
		for(int j=jj;jj<cur.size();j++){
			cur2.pb(cur[j]);
		}
		cur=cur2;
	}*/
	for(int i=4;i<=6;i++){
		vector<pair<int,int>> ss;
		if(i==4){
			ss.pb({0,1});
			ss.pb({1,2});
		}
		else if(i==5){
			ss.pb({0,1});
			ss.pb({2,3});
		}
		else{
			ss.pb({0,1});
			ss.pb({3,4});
		}
		int st=0;
		for(auto j:ss){
			int x=getMedian(cur[j.a],cur[j.b],i);
			/*for(auto j:cur){
				cout<<j<<":";
			}
			cout<<endl;*/
			if(x==i){
				st=1;
				int jj=j.a+1;
				vector<int> cur2;
				for(int ii=0;ii<jj;ii++){
					cur2.pb(cur[ii]);
				}
				cur2.pb(i);
				for(int ii=jj;ii<cur.size();ii++){
					cur2.pb(cur[ii]);
				}
				cur=cur2;
				break;
			}
			else if(x==cur[j.a]){
				st=1;
				int jj=j.a;
				vector<int> cur2;
				for(int ii=0;ii<jj;ii++){
					cur2.pb(cur[ii]);
				}
				cur2.pb(i);
				for(int ii=jj;ii<cur.size();ii++){
					cur2.pb(cur[ii]);
				}
				cur=cur2;
				break;
			}
			
		}
		if(st==0){
				cur.pb(i);
			}

	/*	for(int j=0;j<cur.size();j+=3){
		}
		if(getLightest(i,cur[0],cur[1])==i){
			reverse(cur.begin(),cur.end());
			cur.pb(i);
			reverse(cur.begin(),cur.end());
		}
		else{
			int st=0;
			vector<int> cur2;
			for(int ii=0;ii<cur.size()-1;ii++){
				if(getMedian(i,cur[ii],cur[ii+1])==i){
					st=1;
					for(int j=0;j<=ii;j++){
						cur2.pb(cur[j]);
					}
					cur2.pb(i);
					for(int j=ii+1;j<cur.size();j++){
						cur2.pb(cur[j]);
					}
					//cur=cur2;
					//break;
				}
			}
			if(st==0){
				cur.pb(i);
			}
			else{
				cur=cur2;
			}
		}*/
	}
	int ww[6];
	for(int i=0;i<6;i++){
		ww[i]=cur[i];
	}
 
    answer(ww);
}

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:8:15: warning: unused parameter 'T' [-Wunused-parameter]
    8 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:85:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   85 |     for(int ii=jj;ii<cur.size();ii++){
      |                   ~~^~~~~~~~~~~
scales.cpp:99:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   99 |     for(int ii=jj;ii<cur.size();ii++){
      |                   ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...