Submission #1156098

#TimeUsernameProblemLanguageResultExecution timeMemory
1156098aarb_.tomatexdScales (IOI15_scales)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> #include "scales.h" using namespace std; void init(int t) {} void orderCoins() { vector<int> W(6); // Arreglo donde almacenaremos el orden final // 1. Encontrar la moneda más ligera y la más pesada en solo dos llamadas int L = getLightest(1, 2, 3); // La más ligera entre {1, 2, 3} int H = getHeaviest(4, 5, 6); // La más pesada entre {4, 5, 6} // 2. Determinar una moneda intermedia int M = getMedian(L, H, 3); // Encuentra una moneda intermedia // 3. Identificar las tres monedas restantes vector<int> remaining; for (int i = 1; i <= 6; i++) { if (i != L && i != H && i != M) remaining.push_back(i); } // 4. Encontrar las monedas en orden usando `getNextLightest` int L2 = getNextLightest(remaining[0], remaining[1], remaining[2], L); int L3 = getNextLightest(remaining[0], remaining[1], remaining[2], L2); int H2 = getNextLightest(remaining[0], remaining[1], remaining[2], L3); // La última será la más pesada de este grupo // 5. Asignar los valores encontrados al array final W[0] = L; W[1] = L2; W[2] = L3; W[3] = M; W[4] = H2; W[5] = H; // 6. Llamamos a answer con el orden final (pasando el puntero al primer elemento del vector) answer(W.data()); }
#Verdict Execution timeMemoryGrader output
Fetching results...