救命!!为什么爆零??
查看原帖
救命!!为什么爆零??
683768
Allen_yang楼主2022/10/17 17:18

rt

#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
int main(){
	long n,x;
	cin >> n;
	vector<long> s;
	cin >> x;
	s.push_back(x);
	cout << s.back() <<"\n";
	x=s.back();
	for(long i=2;i<=n;i++){
		long a;
		cin >> a;
		auto it=lower_bound(s.begin(),s.end(),a);
		if(it!=s.end()){
//			cout << min(abs(*it-a),abs(*(it-1)-a)) << endl;
			x+=min(abs(*it-a),abs(*(it-1)-a));
		}else{
//			cout << abs(s.back()-a) << endl;
			x+=abs(s.back()-a);
		}
		s.insert(it,a);
	}
	cout << x;
	return 0;
}
2022/10/17 17:18
加载中...