1 #include<cstdio>
2 #include<algorithm>
3 using namespace std;
4 struct Set{
5 int l,r,w;
6 bool operator < (const Set &a) const
7 {
8 return r < a.r;
9 }
10 }s[1010];
11 int f[1010];
12 int n,ans;
13 int main()
14 {
15 scanf("%d",&n);
16 for (int i=1; i<=n; ++i)
17 scanf("%d%d%d",&s[i].l,&s[i].r,&s[i].w);
18 sort(s+1,s+n+1);
19 for (int i=0; i<=n; ++i)
20 for (int j=0; j<=i; ++j)
21 if (s[i].l>=s[j].r) f[i] = max(f[i],s[i].w+f[j]);
22 for (int i=1; i<=n; ++i)
23 ans = max(ans,f[i]);
24 printf("%d",ans);
25 return 0;
26 }#include<cstdio>
27 #include<algorithm>
28 using namespace std;
29 struct Set{
30 int l,r,w;
31 bool operator < (const Set &a) const
32 {
33 return r < a.r;
34 }
35 }s[1010];
36 int f[1010];
37 int n,ans;
38 int main()
39 {
40 scanf("%d",&n);
41 for (int i=1; i<=n; ++i)
42 scanf("%d%d%d",&s[i].l,&s[i].r,&s[i].w);
43 sort(s+1,s+n+1);
44 for (int i=0; i<=n; ++i)
45 for (int j=0; j<=i; ++j)
46 if (s[i].l>=s[j].r) f[i] = max(f[i],s[i].w+f[j]);
47 for (int i=1; i<=n; ++i)
48 ans = max(ans,f[i]);
49 printf("%d",ans);
50 return 0;
51 }