Submission #290824

# Submission time Handle Problem Language Result Execution time Memory
290824 2020-09-04T13:25:57 Z kshitij_sodani Scales (IOI15_scales) C++14
55.7292 / 100
1 ms 384 KB
#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);
		}
	}

	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{
			int xx=getMedian(cur[1],cur[3],i);
			if(xx==cur[1]){
				ss.pb({0,1});
			}
			else if(xx==i){
				ss.pb({2,3});
			}
			else{
				ss.pb({3,4});
			}
			for(auto j:ss){
					int x=getMedian(cur[j.a],cur[j.b],i);
					if(x==i){
						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]){
						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;
					}
					else{
						int jj=j.a+2;
						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;
					}
				}

			continue;
		}
		int st=0;
		for(auto j:ss){
			int x=getMedian(cur[j.a],cur[j.b],i);
			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);
		}
	}
	int ww[6];
	for(int i=0;i<6;i++){
		ww[i]=cur[i];
	}
 
    answer(ww);
}

Compilation message

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:57:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |       for(int ii=jj;ii<cur.size();ii++){
      |                     ~~^~~~~~~~~~~
scales.cpp:70:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   70 |       for(int ii=jj;ii<cur.size();ii++){
      |                     ~~^~~~~~~~~~~
scales.cpp:83:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |       for(int ii=jj;ii<cur.size();ii++){
      |                     ~~^~~~~~~~~~~
scales.cpp:104:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  104 |     for(int ii=jj;ii<cur.size();ii++){
      |                   ~~^~~~~~~~~~~
scales.cpp:118:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  118 |     for(int ii=jj;ii<cur.size();ii++){
      |                   ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 256 KB Output is partially correct
2 Partially correct 1 ms 256 KB Output is partially correct
3 Partially correct 1 ms 256 KB Output is partially correct
4 Partially correct 1 ms 256 KB Output is partially correct
5 Partially correct 0 ms 256 KB Output is partially correct
6 Partially correct 1 ms 256 KB Output is partially correct
7 Partially correct 0 ms 256 KB Output is partially correct
8 Partially correct 0 ms 256 KB Output is partially correct
9 Partially correct 1 ms 256 KB Output is partially correct
10 Partially correct 1 ms 256 KB Output is partially correct
11 Partially correct 1 ms 256 KB Output is partially correct
12 Partially correct 1 ms 256 KB Output is partially correct
13 Partially correct 1 ms 384 KB Output is partially correct
14 Partially correct 0 ms 256 KB Output is partially correct
15 Partially correct 1 ms 256 KB Output is partially correct
16 Partially correct 1 ms 256 KB Output is partially correct
17 Partially correct 0 ms 256 KB Output is partially correct
18 Partially correct 0 ms 256 KB Output is partially correct
19 Partially correct 1 ms 384 KB Output is partially correct
20 Partially correct 1 ms 256 KB Output is partially correct
21 Partially correct 1 ms 256 KB Output is partially correct
22 Partially correct 0 ms 256 KB Output is partially correct
23 Partially correct 1 ms 256 KB Output is partially correct
24 Partially correct 1 ms 256 KB Output is partially correct
25 Partially correct 0 ms 256 KB Output is partially correct
26 Partially correct 1 ms 256 KB Output is partially correct
27 Partially correct 0 ms 256 KB Output is partially correct
28 Partially correct 1 ms 256 KB Output is partially correct
29 Partially correct 0 ms 256 KB Output is partially correct
30 Partially correct 1 ms 256 KB Output is partially correct
31 Partially correct 1 ms 256 KB Output is partially correct
32 Partially correct 1 ms 256 KB Output is partially correct
33 Partially correct 1 ms 256 KB Output is partially correct
34 Partially correct 0 ms 256 KB Output is partially correct
35 Partially correct 0 ms 256 KB Output is partially correct
36 Partially correct 0 ms 256 KB Output is partially correct
37 Partially correct 0 ms 256 KB Output is partially correct
38 Partially correct 0 ms 256 KB Output is partially correct
39 Partially correct 0 ms 256 KB Output is partially correct
40 Partially correct 1 ms 256 KB Output is partially correct