83分求调,大佬们快来看看
查看原帖
83分求调,大佬们快来看看
551894
lemon2021楼主2023/8/4 17:08
#include<bits/stdc++.h>
using namespace std;
const long long MAXN=3000001;
deque<long long> q;
long long f[MAXN];
long long w[MAXN];
long long n,m,tag;
int main()
{
	cin>>n>>m;
	for(long long i=1;i<=n;i++)
	{
		long long t;
		cin>>t;
		q.push_back(t);
	}
	for(long long i=1;i<=m;i++)
	{
		cin>>f[i];
	}
    sort(f+1,f+m+1);
	tag=1;
	for(long long i=1;i<n;i++)
	{
		long long a=q.front();
		q.pop_front();
        long long b=q.front();
		q.pop_front();
		if(i==f[tag])
		{
			cout<<a<<" "<<b<<endl;
			tag++;
		}
		if(a>b)
		{
			q.push_front(a);
			q.push_back(b);
		}
		else
		{
			q.push_front(b);
			q.push_back(a);
		}
	}
	for(long long i=1;i<=n;i++)
	{
		long long t=q.front();
		q.pop_front();
		w[i]=t;
	}
	long long x[MAXN];
	x[0]=n;
	for(long long i=1;i<n;i++)
	{
		x[i]=i+1;
	}
	for(long long i=tag;i<=m;i++)
	{
		cout<<w[1]<<" "<<w[ x[f[i]%(n-1)] ]<<endl;
//		if(f[i]%(n-1)==0)
//		{
//			cout<<w[1]<<" "<<w[n]<<endl;
//		}
//		else
//		{
//			cout<<w[1]<<" "<<w[f[i]%(n-1)+1]<<endl;
//		}
	}
	return 0;
}
/*
5 10
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
*/
2023/8/4 17:08
加载中...