蒟蒻求助
查看原帖
蒟蒻求助
528562
_Niaoniao_楼主2022/8/2 21:10
#include<bits/stdc++.h>
#define MAXN 3000001
using namespace std;
int T,n,k,a[MAXN],b[MAXN],top;
int main() {
	cin>>T;
	cin>>n;
	top=n;
	int flag=0;
	for(int i=1; i<=n; i++) {
		cin>>a[i];
		b[i]=1;
	}
	while(T>0) {
		T--;
		if(flag==1) {
			cin>>k;
			for(int i=1; i<=2*k; i++) {
				int x,y;
				cin>>x>>y;
				a[x]=y;
			}
		}
		flag=1;
		int maxn=0,minn=0,maxx=0,van=1;
		while(van==1) {
			for(int i=1; i<=n; i++) {
				if(b[i]==1) {
					if(a[i]>=a[maxn]) {
						maxx=maxn;
						maxn=i;
					}else{
						if(a[i]>=a[maxx]){
							maxx=i;
						}
					}
					if(a[i]<a[minn]) {
						minn=i;
					}
				}
			}
			if(maxn==maxx) {
				van=0;
			}
			if(maxn>maxx){
				if(a[maxn]-a[minn]>=a[maxx]){
					b[minn]=0;
					top--;
				}else{
					van=0;
				}
			}
			if(maxn<maxx){
				if(a[maxn]-a[minn]>a[maxx]){
					b[minn]=0;
					top--;
				}else{
					van=0;
				}
			}
		}
		cout<<top<<endl;
	}
	return 0;
}
2022/8/2 21:10
加载中...