WA#1 95pts set求调
查看原帖
WA#1 95pts set求调
545986
Jerrycyx楼主2024/7/18 17:05

RT,WA #1

#include<cstdio>
#include<algorithm>
#include<set>
#define abs(x) (x)>0?(x):-(x)
using namespace std;

int n;
set<pair<int,int>> a; 

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		int x;scanf("%d",&x);
		if(i==1)
		{
			a.insert({x,i});
			continue;
		}
		auto it1=a.upper_bound({x,-1}),it2=a.lower_bound({x,-1});
		it1--;
		int itt1=abs(x-it1->first);
		int itt2=it2==a.end()?0x7fffffff:abs(it2->first-x);
//		printf("[%d,%d]\n",itt1,itt2);
		if(itt1<=itt2) printf("%d %d\n",itt1,it1->second);
		else printf("%d %d\n",itt2,it2->second);
		a.insert({x,i});
	}
	return 0;
}
2024/7/18 17:05
加载中...