Submission #1156092

#TimeUsernameProblemLanguageResultExecution timeMemory
1156092aarb_.tomatexdScales (IOI15_scales)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "scales.h"
using namespace std;

void init(int t) {}

// Implementación eficiente de orderCoins()
void orderCoins() {
    vector<int> W(6, 0); // 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. Ordenar las tres monedas restantes de menor a mayor
    vector<int> remaining;
    for (int i = 1; i <= 6; i++) {
        if (i != L && i != H && i != M) remaining.push_back(i);
    }

    // 4. Encontrar la segunda moneda más ligera
    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
    answer(W);
}

Compilation message (stderr)

scales.cpp: In function 'void orderCoins()':
scales.cpp:38:12: error: cannot convert 'std::vector<int>' to 'int*'
   38 |     answer(W);
      |            ^
      |            |
      |            std::vector<int>
In file included from scales.cpp:2:
scales.h:10:17: note:   initializing argument 1 of 'void answer(int*)'
   10 | void answer(int W[]);
      |             ~~~~^~~