Submission #1305502

#TimeUsernameProblemLanguageResultExecution timeMemory
1305502simona1230Abracadabra (CEOI22_abracadabra)C++20
10 / 100
796 ms8236 KiB
#include <bits/stdc++.h>

using namespace std;
int n,q;
int a[200001];
int p[1001][1001];
void read()
{
    cin>>n>>q;
    for(int i=1;i<=n;i++)
        cin>>p[0][i];
}

void prec()
{
    for(int i=1;i<=n;i++)
    {
        int j=1;
        int i1=1,i2=n/2+1;
        while(i1<=n/2||i2<=n)
        {
            if(i1>n/2)p[i][j++]=p[i-1][i2++];
            else if(i2>n)p[i][j++]=p[i-1][i1++];
            else if(p[i-1][i1]<p[i-1][i2])p[i][j++]=p[i-1][i1++];
            else p[i][j++]=p[i-1][i2++];
        }
    }

    /*for(int i=1;i<=n;i++)
        cout<<p[n][i]<<" ";
    cout<<endl;*/
}

void solve()
{
    for(int i=1;i<=q;i++)
    {
        int t,id;
        cin>>t>>id;
        cout<<p[min(n,t)][id]<<endl;
    }
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	read();
	prec();
	solve();
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...