제출 #299022

#제출 시각아이디문제언어결과실행 시간메모리
299022BlancaHMScales (IOI15_scales)C++14
0 / 100
1 ms400 KiB
#include <iostream> #include <fstream> #include <cfloat> #include <iomanip> #include <vector> #include <algorithm> #include <queue> #include <stack> #include <cstring> #include <cmath> #include <climits> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include "scales.h" using namespace std; typedef pair<int, int> pii; typedef long long int ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<vvi> vvvi; typedef vector<vvvi> vvvvi; typedef vector<pii> vpii; typedef vector<vpii> vvpii; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<vvl> vvvl; typedef vector<vvvl> vvvvl; typedef vector<string> vs; #define fir first #define sec second #define pb push_back #define eb emplace_back #define ppb pop_back #define pf push_front #define ppf pop_front #define mp make_pair #define len(v) ((int)v.size()) #define all(v) v.begin(), v.end() void init(int T) { return; } void orderCoins() { int W[6]; int heavy1 = getHeaviest(1, 2, 3); int heavy2 = getHeaviest(4, 5, 6); int light1 = getLightest(1, 2, 3); int light2 = getLightest(4, 5, 6); int median1 = 6 - (heavy1+light1); int median2 = 15 - (heavy2+light2); int q1 = getMedian(heavy1, heavy2, median1); if (q1 == heavy1) { W[0] = heavy2; // heavy2 > heavy1 > median1 > light1 int q2 = getMedian(median1, median2, heavy1); int q3 = getLightest(light1, light2, median1); if (q2 == median1) { // heavy2 > heavy1 > median1 > median2 W[1] = heavy1; W[2] = median1; W[3] = median2; } else if (q2 == heavy1) { // heavy2 > median2 > heavy1 > median1 W[1] = median2; W[2] = heavy1; W[3] = median1; } else { // heavy2 > heavy1 > median2 > median1 W[1] = heavy1; W[2] = median2; W[3] = median1; } if (q3 == light1) { W[4] = light2; W[5] = light1; } else { W[4] = light1; W[5] = light2; } } else if (q1 == heavy2) { W[0] = heavy1; W[1] = heavy2; // heavy1 > heavy2 > median1 > light1 int q2 = getMedian(median1, median2, light1); if (q2 == median1) { // heavy1 > heavy2 > median2 > median1 > light1 W[2] = median2; W[3] = median1; // find lightest of light1 and light2 int q3 = getLightest(light1, light2, median1); if (q3 == light1) { W[4] = light2; W[5] = light1; } else { W[4] = light1; W[5] = light2; } } else if (q2 == light1) { // heavy1 > heavy2 > median1 > light1 > median2 > light2 W[2] = median1; W[3] = light1; W[4] = median2; W[5] = light2; } else { W[2] = median1; W[3] = median2; // find lightest of light1/2 int q3 = getLightest(light1, light2, median1); if (q3 == light1) { W[4] = light2; W[5] = light1; } else { W[4] = light1; W[5] = light2; } } } else { // heavy1 > median1 > heavy2 > median2 > light2 W[0] = heavy1; W[1] = median1; int q2 = getNextLightest(heavy2, median2, light2, light1); if (q2 == median2) { W[2] = heavy2; W[3] = median2; W[4] = light1; W[5] = light2; } else if (q2 == heavy2) { W[2] = heavy2; W[3] = light1; W[4] = median2; W[5] = light2; } else { // either > H2 or < L2 int q3 = getMedian(heavy2, light2, light1); if (q3 == heavy2) { W[2] = light1; W[3] = heavy2; W[4] = median2; W[5] = light2; } else { W[2] = heavy2; W[3] = median2; W[4] = light2; W[5] = light1; } } } answer(W); }

컴파일 시 표준 에러 (stderr) 메시지

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