# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
831692 |
2023-08-20T12:22:54 Z |
qin |
Scales (IOI15_scales) |
C++14 |
|
0 ms |
0 KB |
#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
void ordercoins(){
vector<int> v1, v2;
int t1 = getLightest(1, 2, 3), t2 = getMedian(1, 2, 3), t3 = getHeaviest(1, 2, 3);
v1 = {t3, t2, t1};
t1 = getLightest(4, 5, 6), t2 = getMedian(4, 5, 6), t3 = getHeaviest(4, 5, 6);
v2 = {t3, t2, t1};
vector<int> wynik;
while(!v1.empty() || !v2.empty()){
if(v1.size() == (size_t) 1 && v2.size() == (size_t) 1){
int tmp = getMedian(wynik[0], v1.back(), v2.back());
if(v1.back() == tmp) wynik.emplace_back(v1.back()), wynik.emplace_back(v2.back());
else wynik.emplace_back(v2.back()), wynik.emplace_back(v1.back());
v1.pop_back(), v2.pop_back();
continue;
}
if(v1.empty()) while(!v1.empty()) wynik.emplace_back(v1.back()), v1.pop_back();
if(v2.empty()) while(!v2.empty()) wynik.emplace_back(v2.back()), v2.pop_back();
if(v1.size() && v2.size()){
if(v2.size() > v1.size()) swap(v1, v2);
int tmp = getLightest(v1.back(), v2.back(), v1[0]);
if(v1.back() == tmp) wynik.emplace_back(v1.back()), v1.pop_back();
else wynik.emplace_back(v2.back()), v2.pop_back();
}
}
int w[6];
for(int i = 0; i < 6; ++i) w[i] = wynik[i];
answer(w);
}
void init(int T){
for(int i = 0; i < T; ++i) ordercoins();
}
Compilation message
/usr/bin/ld: /tmp/cc1YBji1.o: in function `main':
grader.c:(.text.startup+0xfb): undefined reference to `orderCoins'
collect2: error: ld returned 1 exit status