求助!每个subtask都有WA!
查看原帖
求助!每个subtask都有WA!
1286553
doooge楼主2024/10/17 17:06
#include<bits/stdc++.h>
using namespace std;
struct ll{
	int x,y,id,l;
	bool operator<(const ll &x)const{
		return id<x.id;
	}
}a[500010];
bool cmp(ll x,ll y){
	return x.x<y.x;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n,last=1;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].y>>a[i].x;
		a[i].id=i;
	}
	sort(a+1,a+n+1,cmp);
	a[n].l=1e9;
	for(int i=2;i<=n;i++){
		if(a[i].y!=a[i-1].y){
			for(int j=last;j<i;j++){
				a[j].l=a[i].x-a[j].x;
			}
			last=i;
		}
	}
	last=n;
	for(int i=n-1;i>=1;i--){
		if(a[i].y!=a[i+1].y){
			for(int j=last;j>i;j--){
				a[j].l=min(a[j].l,a[j].x-a[i].x);
			}
			last=i;
		}
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++){
		cout<<a[i].l<<'\n';
	}
	return 0;
}
2024/10/17 17:06
加载中...