Submission #1020106

#TimeUsernameProblemLanguageResultExecution timeMemory
1020106thelegendary08Abracadabra (CEOI22_abracadabra)C++14
10 / 100
634 ms524288 KiB
#include<bits/stdc++.h>
#define pb push_back
#define int long long
#define vi vector<int>
#define vvi vector<vector<int>>
#define vll vector<long long int>
#define vvll vector<vector<long long int>>
#define pii pair<int, int>
#define vpii vector<pair<int, int>>
#define vc vector<char>
#define vvc vector<vector<char>>
#define vb vector<bool>
#define mii map<int,int>
#define mll map<long long int, long long int>
#define mivi map<int,vector<int>>
#define f0r(i,n) for(int i=0;i<n;i++)
#define FOR(i,k,n) for(int i=k;i<n;i++)
using namespace std;
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	//ifstream cin(".in");
	//ofstream cout(".out");
	int n,q;
	cin>>n>>q;
	vi v(n);
	f0r(i,n)cin>>v[i];
	//f0r(i,n)cout<<v[i]<<' ';
	//cout<<'\n';
	vector<vi>ans;
	ans.pb(v);
	f0r(i,n){
		vi v1;
		vi v2;
		f0r(j, n/2)v1.pb(v[j]);
		f0r(j,n/2)v2.pb(v[j+n/2]);
		
		int p1 = 0;
		int p2 = 0;
		vi a;
		while(p1 < n/2 || p2 < n/2){
			if(p1 == n/2){
				a.pb(v2[p2]);
				p2++;
			}
			else if(p2 == n/2){
				a.pb(v1[p1]);
				p1++;
			}
			else{
				if(v1[p1] < v2[p2]){
					a.pb(v1[p1]);
					p1++;
				}
				else{
					a.pb(v2[p2]);
					p2++;
				}
			}
		}
		f0r(i,n)v[i] = a[i];
		/*
		f0r(i,n)cout<<v[i]<<' ';
		cout<<'\n';
		*/
		ans.pb(v);
	}
	f0r(i,q){
		int t,x;
		cin>>t>>x;
		x--;
		if(t <= n)cout<<ans[t][x]<<'\n';
		else cout<<ans[n][x]<<'\n';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...