Submission #528164

#TimeUsernameProblemLanguageResultExecution timeMemory
528164AndresTLArchery (IOI09_archery)C++11
10 / 100
2094 ms6152 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...