是不是思路有问题
查看原帖
是不是思路有问题
1495863
Last_Love楼主2025/2/4 13:23
#include<bits/stdc++.h>
using namespace std;
const int N=2*1e5+5;
int T,n,m,op,x;
int vis[N];
int main(){
	cin>>T;
	while(T--){
		cin>>n>>m;
		int cnt=0;
		bool flag=0;
		for(int m1=1;m1<=m;m1++){
			cin>>op>>x;
			if(op==1) vis[x]++;
			if(op==2){
				vis[x]--; 
				cnt++;
			}
			bool v=1;
			for(int i=1;i<=n;i++)
				if(vis[i]+cnt<1){
					v=0;
					break;
				}
			if(v=1){
				cout<<m1<<endl;
				flag=1;
				break;
				cnt=0;
			}
		}
		if(!flag) cout<<-1<<endl;
	}
	return 0;
}


2025/2/4 13:23
加载中...