This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
const int LIMIT=200000;
int level[(2*LIMIT)+2];
int Objetivos, Rounds, MyArcher;
int solve(){
vector<pair<int,int>> Obj;
for(int i=1;i<=Objetivos*2;i+=2){
Obj.push_back(make_pair(level[i],level[i+1]));
}
int ultimo=0;
int pos=0;
for(int i=1;i<=Rounds;i++){
for(int j=0;j<Objetivos;j++){
if(j==0){
if(Obj[j].first<Obj[j].second){
ultimo=Obj[j].second;
}else{
ultimo=Obj[j].first;
Obj[j].first=Obj[j].second;
}
Obj[j].second=-1;
if(Obj[j].first==MyArcher){
pos=j+1;
}else if(ultimo==MyArcher){
pos=Objetivos;
}
}else{
if(Obj[j].first<Obj[j].second){
Obj[j-1].second=Obj[j].first;
Obj[j].first=Obj[j].second;
}else{
Obj[j-1].second=Obj[j].second;
}
Obj[j].second=-1;
if(Obj[j].first==MyArcher){
pos=j+1;
}else if(Obj[j-1].second==MyArcher){
pos=j;
}
}
}
Obj[Objetivos-1].second=ultimo;
}
return pos;
};
int main(){
ios_base::sync_with_stdio(0);cin.tie();
cin>>Objetivos>>Rounds>>MyArcher;
for(int i=2;i<=Objetivos*2;i++){
cin>>level[i];
}
int gano,mgano=100000;
int res=0;
for(int i=1;i<=Objetivos*2;i++){
level[i-1]=level[i];
level[i]=MyArcher;
gano=solve();
if(mgano>=gano){
mgano=gano;
res=i;
}
}
cout<<(res+1)/2<<'\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |