Submission #409429

#TimeUsernameProblemLanguageResultExecution timeMemory
409429AlmaLibrary (JOI18_library)C++17
0 / 100
177 ms320 KiB
#include <bits/stdc++.h>
#include "library.h"
using namespace std;

void Solve(int N) {
    vector<int> res;
    if (N == 1) {
        res = {1};
        Answer(res);
    }
    else if (N == 2){
        res = {1, 2};
        Answer(res);
    }
    vector<int> M(N, 1);
    int extremo = 0;
    for (int i = 0; i < N; i++) {
        M[i] = 0;
        if (Query(M) == 1) {
            extremo = i;
            break;
        }
        M[i] = 1;
    }
    res.push_back(extremo+1);
    M.assign(N, 0);
    vector<bool> puesto(N, false);
    puesto[extremo] = true;
    int libro_izq = extremo;

    while ((int)res.size() < N) {
        for (int i = 0; i < N; i++) {
            if (puesto[i]) continue;
            M[libro_izq] = 1; M[i] = 1;
            if (Query(M) == 1) {
                res.push_back(i+1);
                puesto[i] = true;
                libro_izq = i;
                break;
            }
            M[libro_izq] = 0; M[i] = 0;
        }
    }
    Answer(res);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...