Submission #169761

#TimeUsernameProblemLanguageResultExecution timeMemory
169761MounirXylophone (JOI18_xylophone)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; void answer(int i, int j); void query(int i, int j); void solve(int N){ int nVals = N; vector<int> vals(nVals), diffVoisin(nVals), signe(nVals); for (int& val : vals) val = 0; for (int iVal = 0; iVal < nVals - 1; ++iVal) diffVoisin[iVal] = query(iVal + 1, iVal + 2); for (int signe0 = -1; signe0 <= 1; signe0 += 2){ signe[0] = signe0; for (int iVal = 1; iVal < nVals - 1; ++iVal){ if (query(iVal + 1, min(nVals, iVal + 3)) == diffVoisin[iVal] + diffVoisin[iVal + 1]) signe[iVal] = signe[iVal - 1]; else signe[iVal] = -signe[iVal - 1]; } //On vérifie que ca fait une permutation, càd que tout soit distinct vals[0] = 1; set<int> verif; for (int iVal = 0; iVal < nVals - 1; ++iVal){ vals[iVal + 1] = vals[iVal] + signe[iVal] * diffVoisin[iVal]; verif.insert(vals[iVal]); } // for (int& i : vals) // cout << i << " "; //cout << endl; verif.insert(vals[nVals - 1]); if ((int)verif.size() == nVals && vals[0] < vals[nVals - 1]){ int delta = 1 - *verif.begin(); for (int iVal = 0; iVal < nVals; ++iVal) answer(iVal + 1, vals[iVal] + delta); } } }

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:14:46: error: void value not ignored as it ought to be
   diffVoisin[iVal] = query(iVal + 1, iVal + 2);
                                              ^
xylophone.cpp:19:46: error: invalid operands of types 'void' and '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' to binary 'operator=='
    if (query(iVal + 1, min(nVals, iVal + 3)) == diffVoisin[iVal] + diffVoisin[iVal + 1])