제출 #348343

#제출 시각아이디문제언어결과실행 시간메모리
348343MefarnisArchery (IOI09_archery)C++14
10 / 100
2091 ms65540 KiB
#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;
vector< vector<pi> > v;

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++ ) {
		v.clear();
		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];
		}
		v.pb(vec);
		for( int r = 1 ; r <= k ; r++ ) {
			for( int i = 0 ; i < n ; i++ )
				vec[i] = pi(0,0);
			for( int i = 1 ; i < n ; i++ ) {
				vec[i-1].fi = min(v[r-1][i].fi,v[r-1][i].se);
				vec[i].se = max(v[r-1][i].fi,v[r-1][i].se);
			}
			vec[0].se = min(v[r-1][0].fi,v[r-1][0].se);
			vec[n-1].fi = max(v[r-1][0].fi,v[r-1][0].se);
			v.pb(vec);
		}
		for( int i = 0 ; i < n ; i++ )
			if(v[k][i].fi == ar[0] || v[k][i].se == ar[0]) {
				if(i <= ansLast) {
					ansLast = i;
					ansInit = t;
				}
				break;
			}
	}
	printf("%d\n",ansInit+1);
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

archery.cpp: In function 'int main()':
archery.cpp:15:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   15 |  scanf("%d%d",&n,&k);
      |  ~~~~~^~~~~~~~~~~~~~
archery.cpp:17:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   17 |   scanf("%d",&ar[i]);
      |   ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...