70分求助
查看原帖
70分求助
1064930
QwQcaixukun楼主2024/4/26 21:45
#include<bits/stdc++.h>
using namespace std;
const int N=105;
int n,m,k,a[N],ans[N],f;
int main(){
	cin>>n>>m>>k;
	for (int i=1;i<=m;i++){
		cin>>a[i];
		if (a[i]==1)
			f=1;
	}
	for (int i=1;i<=k;i++){
		int c,p;
		cin>>c>>p;
		if (c==1){
			cout<<p;
			return 0;
		}
		ans[p]=c;
	}
	if (f==1){
		int now=1;
		for (int i=1;i<=n;i++)
			if (ans[i]==0){
				if (a[now]==1){
					cout<<i;
					return 0;
				}
				else
					ans[i]=a[now++];
			}
	}
	else{
		int now=n;
		for (int i=m;i>=1;i--){
			f=0;
			for (int j=1;j<=n;j++)
				if (ans[j]==a[i]){
					now=j-1;
					f=1;
					break;
				}
			if (f==0)
				for (int j=now;j>=1;j--)
					if (ans[j]==0){
						ans[j]=a[i];
						now=j-1;
						break;
					}
		}
	}
	for (int i=1;i<=n;i++){
//		cout<<ans[i]<<" ";
		if (ans[i]==0){
			cout<<i;
			return 0;
		}
	}
	return 0;
}

2024/4/26 21:45
加载中...