Submission #592452

#TimeUsernameProblemLanguageResultExecution timeMemory
592452promaJousting tournament (IOI12_tournament)C++17
17 / 100
1099 ms2272 KiB
#include <bits/stdc++.h>
#define see(x) cerr<<#x<<"="<<x<<"\n";

using namespace std;

int GetBestPosition(int N, int C, int R, int *K, int *S, int *E) {
    vector <int> kn;
    int ans = 0, pos = 0;
    for (int i = 0; i < N; i ++) {
        for (int j = 0; j < i; j ++) kn.push_back(K[j]);
        kn.push_back(R);
        for (int j = i; j < N - 1; j ++) kn.push_back(K[j]);
        int cnt = 0;
        for (int j = 0; j < C; j ++) {
//            for (auto i: kn) cout << i << " ";
            int mx = -1;
            for (int k = S[j]; k <= E[j]; k ++) {
                mx = max(mx, kn[k]);
            }
//            see(mx);
            if (mx == R) cnt ++;
            vector <int> tmp;
            for (int k = 0; k < S[j]; k ++) tmp.push_back(kn[k]);
            tmp.push_back(mx);
            for (int k = E[j] + 1; k < int(kn.size()); k ++) tmp.push_back(kn[k]);
            kn.clear();
            for (auto i: tmp) kn.push_back(i);
        }
//        see(cnt);
        if (ans < cnt) {
            ans = cnt;
            pos = i;
        }
        kn.clear();
    }
    return pos;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...