Submission #128035

#TimeUsernameProblemLanguageResultExecution timeMemory
128035MoNsTeR_CuBeScales (IOI15_scales)C++17
45.45 / 100
2 ms380 KiB
#include "scales.h" #include <bits/stdc++.h> using namespace std; void init(int T) { } void orderCoins() { int W[] = {1, 2, 3, 4, 5, 6}; vector< int > left; vector< int > right; left.push_back(getLightest(W[0], W[1], W[2])); left.push_back(getMedian(W[0], W[1], W[2])); for(int i = 0; i < 3; i++){ bool verif = false; for(int j = 0; j < 2; j++){ if(left[j] == W[i]) verif = true; } if(!verif) left.push_back(W[i]); } right.push_back(getLightest(W[3], W[4], W[5])); right.push_back(getMedian(W[3], W[4], W[5])); for(int i = 3; i < 6; i++){ bool verif = false; for(int j = 0; j < 2; j++){ if(right[j] == W[i]) verif = true; } if(!verif) right.push_back(W[i]); } int rem = 6; vector< int > ans; while(rem > 3){ if((int)left.size() >= 2){ ans.push_back(getHeaviest(left.back(), left[left.size()-2], right.back())); if(ans.back() == right.back()) right.pop_back(); if(ans.back() == left.back()) left.pop_back(); }else{ ans.push_back(getHeaviest(left.back(), right[right.size()-2], right.back())); if(ans.back() == right.back()) right.pop_back(); if(ans.back() == left.back()) left.pop_back(); } rem--; } vector< int > remaining; if(left.size() == 3){ while(!left.empty()){ ans.push_back(left.back()); left.pop_back(); } }else if(right.size() == 3){ while(!right.empty()){ ans.push_back(right.back()); right.pop_back(); } }else{ while(!left.empty()){ remaining.push_back(left.back()); left.pop_back(); } while(!right.empty()){ remaining.push_back(right.back()); right.pop_back(); } ans.push_back(getHeaviest(remaining[0], remaining[1], remaining[2])); ans.push_back(getMedian(remaining[0], remaining[1], remaining[2])); for(int i = 0; i < 3; i++){ bool verif = false; for(int j = 3; j < 5; j++){ if(remaining[i] == ans[j]){ verif = true; } } if(!verif) ans.push_back(remaining[i]); } } reverse(ans.begin(), ans.end()); for(int i = 0; i < 6; i++){ W[i] = ans[i]; } answer(W); }

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:8:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T) {
               ^
#Verdict Execution timeMemoryGrader output
Fetching results...