Submission #363179

#TimeUsernameProblemLanguageResultExecution timeMemory
363179teewarXylophone (JOI18_xylophone)C++14
0 / 100
1 ms364 KiB
#include "xylophone.h"
#include <iostream>

using namespace std;


void solve(int n) {
    int l = 1, r = n;
    while(r - l > 1) {
        int m = (l + r) / 2;
        if(query(1, m) == n - 1) {
            r = m;
        }
        else {
            l = m;
        }
    }
    int mxpos = r;
    int a[n + 1];
    for(int i = 1; i <= n; ++i) {
        int val;
        if(i <= mxpos) {
            val = query(i, mxpos);
        }
        else {
            val = query(mxpos, i);
        }
        a[i] = n - val;
    }
    for(int i = 1; i <= n; ++i) {
        answer(i, a[i]);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...