此题目中可以发现其实桶的顺序是无关的,总之就是有桶就用就可以
那就很明显了,就是求最少有几个桶即可
猛一看好像是二分,不过仔细分析一下会发现其实更简单就是简单模拟一下
只需要求一下同时所用到的桶最多有多少个即可,map排序一下再求一下前缀和即可
#include<iostream>
#include<map>
using namespace std;
const int N=110;
map<int,int >mp;
int n,res;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
int a,b,c;
cin>>a>>b>>c;
mp[a]+=c;
mp[b+1]-=c;
}
int sum=0;
for(auto x:mp)
{
res=max(res,sum);
sum+=x.second;
}
cout<<res;
return 0;
}