| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 348345 | Mefarnis | Archery (IOI09_archery) | C++14 | 2097 ms | 7772 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define fi first
#define se second
#define maxn 200000
#define pb push_back
using namespace std;
typedef pair<int,int> pi;
int n,k;
int ar[2*maxn];
int ansLast,ansInit;
int main() {
scanf("%d%d",&n,&k);
for( int i = 0 ; i < 2*n ; i++ )
scanf("%d",&ar[i]);
ansLast = n;
for( int t = 0 ; t < n ; t++ ) {
vector<pi> vec;
for( int i = 0 ; i < n ; i++ )
vec.pb(pi(0,0));
vec[t].fi = ar[0];
for( int i = 1 , idx = 0 ; i < 2*n ; i++ ) {
if(vec[idx].fi == 0)
vec[idx].fi = ar[i];
else
vec[idx++].se = ar[i];
}
for( int r = 1 ; r <= k ; r++ ) {
vector<pi> last = vec;
for( int i = 0 ; i < n ; i++ )
vec[i] = pi(0,0);
for( int i = 1 ; i < n ; i++ ) {
vec[i-1].fi = min(last[i].fi,last[i].se);
vec[i].se = max(last[i].fi,last[i].se);
}
vec[0].se = min(last[0].fi,last[0].se);
vec[n-1].fi = max(last[0].fi,last[0].se);
}
for( int i = 0 ; i < n ; i++ )
if(vec[i].fi == ar[0] || vec[i].se == ar[0]) {
if(i <= ansLast) {
ansLast = i;
ansInit = t;
}
break;
}
}
printf("%d\n",ansInit+1);
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
