# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1156100 | aarb_.tomatexd | Scales (IOI15_scales) | C++20 | 0 ms | 320 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); // Encuentra la más ligera entre {1, 2, 3}
int H = getHeaviest(4, 5, 6); // Encuentra la más pesada entre {4, 5, 6}
// 2. Determinar una moneda intermedia sin errores
int possible_medians[] = {1, 2, 3, 4, 5, 6};
int M = -1;
for (int x : possible_medians) {
if (x != L && x != H) {
M = x;
break; // Tomamos el primer número que no sea ni L ni H
}
}
// 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);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |