30分求调QAQ
查看原帖
30分求调QAQ
1180231
H_dream楼主2024/8/10 21:45

改到心态崩了,评论者都可互关
WA7个

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+10;
int n,ans;
struct node{
	int x,y;
}a[N];
int t[N],sum=-1;
signed main(){
	cin>>n;
	for(int i=1;i<=n;++i){
		cin>>a[i].x>>a[i].y;
		if(t[a[i].x]==0) t[a[i].x]=i;
		else {
			if(a[t[a[i].x]].y>a[i].y)
				t[a[i].x]=i;
		}
		sum=max(sum,a[i].y);
	}
	/*
	cout<<endl;
	for(int i=0;i<=sum;++i)
		cout<<a[t[i]].x<<' '<<a[t[i]].y<<endl;
	*/
	int c=N,d=0;
	for(int i=0;i<=sum;++i){
		if(t[i]==0) continue;
		if(a[t[i]].y<c){
			c=a[t[i]].y;
			d=i;
		}
	}
	int i=d;
	while(a[t[i]].y<=sum && i<=sum){
		//cout<<i<<endl;
		if(t[i]==0){
			i++; continue;
		}
		ans++;
		if(a[t[i]].y==sum) break;
		i=a[t[i]].y;
	}
	cout<<ans;
    return 0;
}

感谢大佬!!! (验证码有waQAQ)

2024/8/10 21:45
加载中...