请问一下为什么这个全t了qwq
查看原帖
请问一下为什么这个全t了qwq
672837
DaShabby楼主2023/1/29 14:13
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef set<int>::iterator iter;
const int maxn=5e5+34;
int a[maxn],vis[maxn],MAX;
int cnt,idx,tot;
set<int> s; 
iter l,r;
void work(){
	int n,x,ans=0;
	scanf("%d",&n);
	s.insert(1e7);
	s.insert(-1e7);
	for(int i=1;1<=n;i++){
		scanf("%d",&x);
		if(i==1){
			s.insert(x);
			ans+=x;continue;
		}
//		cout<<ans<<endl;
		r=l=s.lower_bound(x);
		l--;
		if(*r==x)continue;
		ans+=min(*r-x,x-*l);
		s.insert(x);
	}
	printf("%d\n",ans);
}
int main()
{
	int t=1;
//	scanf("%d",&t);
	while(t--)
	work();
	return 0;
}```
2023/1/29 14:13
加载中...