Submission #1237796

#TimeUsernameProblemLanguageResultExecution timeMemory
1237796guanexJousting tournament (IOI12_tournament)C++20
0 / 100
0 ms320 KiB
#include<bits/stdc++.h> using namespace std; int check(int j, int rank, vector<int> &knights, vector<pair<int, int>> &query){ vector<int> x; for(int i = 0; i < j; ++i){ x.push_back(knights[i]); } x.push_back(rank); for(int i = j; i < (int)knights.size(); ++i){ x.push_back(knights[i]); } int ans = 0; for(auto e:query){ vector<int> nx; for(int i = 0; i < e.first; ++i){ nx.push_back(x[i]); } int mx = -1; for(int i = e.first; i <= e.second; ++i){ mx = max(mx, x[i]); } if(mx == rank){ ans++; } nx.push_back(mx); for(int i = e.second+1; i < (int)x.size(); ++i){ nx.push_back(x[i]); } } return ans; } int GetBestPosition(int N, int C, int R, int *K, int *S, int *E) { vector<pair<int, int>> x; int lk = R; vector<int> knights; for(int i = 0; i < N-1; ++i){ knights.push_back(K[i]); } for(int i = 0; i < C; ++i){ x.push_back({S[i], E[i]}); } int ans = -1; int pos = 0; for(int i = 0; i < N-1; ++i){ int an = check(i, lk, knights, x); if(an > ans){ ans = an; pos = i; } } return pos; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...