蒟蒻60分超时
查看原帖
蒟蒻60分超时
800322
Zouzhuoxuan楼主2023/1/14 20:15
#include<bits/stdc++.h>
using namespace std;
int n,d,tmp1,tmp2;

const int N=1e6;
struct hhh
{
	int x,time;
}a[N/10];
int main()
{
	int i,j,maxn=0,minn=N,wid=N;
	scanf("%d%d",&n,&d); 
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&tmp1,&tmp2);
		a[i].x=tmp1,a[i].time=tmp2;
		maxn=max(tmp2,maxn),minn=min(tmp2,minn);
	}
	if(abs(maxn-minn)<d)
	{
		printf("-1\n");
		return 0;
	}
	else if(abs(maxn-minn)==d)
	{
		printf("%d\n",abs(maxn-minn));
		return 0;
	}
	for(i=1;i<=n;i++)
	{
		for(j=i;j<=n;j++)
		{
			if(i==j) continue;
			if(abs(a[i].time-a[j].time)>=d) wid=min(wid,abs(a[i].x-a[j].x));
		}
	}
	printf("%d\n",wid);
}

听同机房的同学说,O(n2)O(n^2)能过。。。。?

2023/1/14 20:15
加载中...