暴力
把输入的位置全部赋为需要的桶数,
然后直接一重循环打擂台找最大就好了。
A C C o d e AC~Code AC Code
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000010],maxn1,ans=-1;
int n,l,r,z;
int main()
{
freopen("blist.in","r",stdin);
freopen("blist.out","w",stdout);
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>l>>r>>z;
maxn1=max(maxn1,r);
for(int i=l; i<=r; i++) //范围内累加
a[i]+=z;
}
for(int i=1; i<=maxn1+1; i++)
if(a[i]>ans) //打擂台
ans=a[i];
cout<<ans;
return 0;
}