Submission #1237820

#TimeUsernameProblemLanguageResultExecution timeMemory
1237820caacrugon마상시합 토너먼트 (IOI12_tournament)C++20
17 / 100
1094 ms608 KiB
#include <bits/stdc++.h> using namespace std; int GetBestPosition(int N, int C, int R, int *K, int *S, int *E) { int ans=0,bestWins=-1; for(int i=0;i<N;i++){ vector<int> ln(K,K+(N-1)); ln.push_back(0); int tmp=R,tmp2=-1; for(int j=i;j<ln.size();j++){ if(tmp2==-1){ tmp2=ln[j]; ln[j]=tmp; }else{ tmp=ln[j]; ln[j]=tmp2; tmp2=-1; } } vector<pair<int,int>> v; for(int j=0;j<N;j++)v.push_back({j,j}); int wins=0; for(int j=0;j<C;j++){ int pMax=wins+(C-(j+1)); if(pMax<=bestWins)break; int l=v[S[j]].first; int r=v[E[j]].second; v.erase(v.begin()+S[j],v.begin()+E[j]+1); v.insert(v.begin()+S[j],{l,r}); int mx=0; for(int k=l;k<=r;k++)mx=max(mx,ln[k]); if(mx==R)wins++; } if(wins>bestWins){ bestWins=wins; ans=i; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...