当前位置: 代码迷 >> 综合 >> CF-C. Maximal Intersection
  详细解决方案

CF-C. Maximal Intersection

热度:76   发布时间:2023-12-29 14:56:10.0

http://codeforces.com/contest/1029/problem/C

 c.begin() 返回一个迭代器,它指向容器c的第一个元素

 c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置

 c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素

 c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置

 multiset和set不同之处在于multiset可以有重复的元素。

#include<bits/stdc++.h>
#define maxn 300005
using namespace std;
multiset<int>a,b;
int L[maxn],R[maxn];
int main()
{int n;cin>>n;for(int i=0;i<n;i++){cin>>L[i]>>R[i];a.insert(L[i]);b.insert(R[i]);}/// cout<<-1<<endl;int ans=0;for(int i=0;i<n;i++){a.erase(a.find(L[i]));b.erase(b.find(R[i]));ans=max(ans,*(b.begin())-*(a.rbegin()));a.insert(L[i]);b.insert(R[i]);}cout<<ans<<endl;return 0;
}

 

  相关解决方案