제출 #1249726

#제출 시각아이디문제언어결과실행 시간메모리
1249726sinatbtfardAbracadabra (CEOI22_abracadabra)C++20
10 / 100
134 ms12280 KiB
#include <bits/stdc++.h>

#define int long long

using namespace std;

const int maxn = 1e3 + 10;

int n, q, a[maxn];

void read (){
	cin >> n >> q;
	for (int i = 0; i < n; i++)
		cin >> a[i];
}

void update (){
	vector <int> v1, v2;
	for (int i = 0; i < n / 2; i++) v1.push_back(a[i]);
	for (int i = n / 2; i < n; i++) v2.push_back(a[i]);
	reverse(v1.begin(), v1.end());
	reverse(v2.begin(), v2.end());
	int ind = 0;
	while (v1.size() && v2.size()){
		if (v1.back() < v2.back()){
			a[ind] = v1.back();
			v1.pop_back();
		}
		else{
			a[ind] = v2.back();
			v2.pop_back();
		}
		ind++;
	}
	while (v1.size()){
		a[ind] = v1.back();
		v1.pop_back();
		ind++;
	}
	while (v2.size()){
		a[ind] = v2.back();
		v2.pop_back();
		ind++;
	}
}

int ans[maxn][maxn];

void solve (){
	for (int i = 0; i <= n; i++){
		for (int j = 0; j < n; j++)
			ans[i][j] = a[j];
		update();
	}
	while (q--){
		int t, i; cin >> t >> i, i--;
		cout << ans[min(t, n)][i] << '\n';
	}
}

int32_t main (){
	ios_base::sync_with_stdio(0), cin.tie(0);
	read();
	solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...