差分,求区间覆盖的max
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1010;
int s[N], t[N], b[N];
int n;
int d[N];
signed main()
{
cin >> n;
int res = 0;
for (int i = 1; i <= n; i++)
{
cin >> s[i] >> t[i] >> b[i];
d[s[i]] += b[i], d[t[i]] -= b[i];
}
if (d[0])res++;
for (int i = 1; i <= 1000; i++)
{
d[i] += d[i - 1];
res = max(res, d[i]);
}
cout << res << endl;
return 0;
}