题目链接
https://www.acwing.com/problem/content/1752/
思路因为N的范围很小,我们先将所有的救生衣的时间区间用差分统计,然后枚举一下每一个救生衣可能被开除的情况,然后找到被开除的可能中最长的时间区间即可
代码#include
using namespace std;
const int N = 1e2+10;
pair a[N];
int n,d[N*10];
int slove(int loc){
int res = 0,ans = 0;
d[a[loc].first]--,d[a[loc].second]++;
for(int i = 0;i 0) ans++;
}
d[a[loc].first]++,d[a[loc].second]--;
return ans;
}
int main()
{
cin>>n;
for(int i = 1;i >a[i].first>>a[i].second;
d[a[i].first]++,d[a[i].second]--;
}
int ans = 0;
for(int i = 1;i
关注
打赏