20分,问题在哪?
查看原帖
20分,问题在哪?
890623
Mars_Xiemengyang楼主2025/1/31 20:45
#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int> > v;
int main(){
	int n,start,end,sum=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>start>>end;
		v.push_back({start,end});
	}
	for(int i=0;i<v.size();i++){
		if(v[i].first<=v[i+1].first && v[i].second>=v[i+1].second)
			v.erase(v.begin()+i,v.begin()+i+1);
		if(v[i].first>v[i+1].first && v[i].second>v[i+1].second){
			v[i].first=v[i+1].first;
			v.erase(v.begin()+i+1,v.begin()+i+2);
		}
	}
	for(int i=0;i<v.size();i++){
		sum+=v[i].second-v[i].first;
	}
	cout<<sum;
	return 0;
}

问题请看题目

2025/1/31 20:45
加载中...