include iostream include vector include algorithm using namespace std

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct alien
{
int tApp;
int time;
int dist;
};
int cmp(alien a, alien b)
{
return a.tApp > b.tApp;
}
int main()
{
int t;
cin >> t;
int n;
for (int i = 0; i < t; ++i)
{
cin >> n;
vector<alien> a(n);
for (int j = 0; j < n; ++j)
{
cin >> a[j].tApp >> a[j].time >> a[j].dist;
}
sort(a.rbegin(), a.rend(),cmp);
int count = 0;
for (int j = 0; j < n; ++j)
{
int k = j + 1;
while (k < n && a[k].tApp <= a[j].tApp + a[j].time && a[j].tApp <= a[k].tApp + a[k].time)
{
k++;
}
int maxi = 0;
int imax = j;
for (int m = j; m < k; ++m)
{
maxi = max(maxi, a[m].dist);
}
count += maxi;
j = k -1;
}
cout << count << endl;
}
}