Codeforces Round #506 (Div. 3)
C. Maximal Intersection
题意:删去某个集合,使得所有集合的相交部分最大,求此最大相交部分的大小
错误原因:题意理解错
运用multiset的自动排序功能以及多重集的性质
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<bits/stdc++.h> #define maxn 300005 using namespace std; #define ll long long multiset<ll> stl,str; ll L[maxn],R[maxn]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>L[i]>>R[i]; stl.insert(L[i]); str.insert(R[i]); } ll ans=0; for(int i=1;i<=n;i++) { stl.erase(stl.find((L[i]))); str.erase(str.find((R[i]))); ans=max(ans,(*str.begin()-*stl.rbegin())); stl.insert(L[i]); str.insert(R[i]); } cout<<ans<<endl; }
·长远来看,信心来源于胜利或一个目标的完成,而不是免费的自我鼓励。