#include<iostream>
#include<vector>
#include<set>
using namespace std;
int n,m;
vector<pair<int,int>> inc[300005];
vector<pair<int,int>> sf[300005];
signed main()
{
cin>>n>>m;
int l,r,a;
for(int i=1;i<=m;i++)
{
cin>>l>>r>>a;
inc[l].push_back({a,r});
sf[r].push_back({a,l});
}
set<pair<int,pair<int,int>>> s;
for(int i=1;i<=n;i++)
{
for(auto x:inc[i])
{
s.insert({x.first - i, x});
}
if(s.empty())
{
cout<<0<<" ";
}
else
{
auto it = s.rbegin();
pair<int,pair<int,int>> cop = *it;
cout<<cop.first + i<<" ";
}
for(auto x:sf[i])
{
s.erase({x.first - x.second, {x.first,i}});
}
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
6 ms |
14424 KB |
Output is correct |
2 |
Correct |
4 ms |
14428 KB |
Output is correct |
3 |
Correct |
3 ms |
14428 KB |
Output is correct |
4 |
Correct |
5 ms |
14344 KB |
Output is correct |
5 |
Correct |
6 ms |
14428 KB |
Output is correct |
6 |
Correct |
7 ms |
14680 KB |
Output is correct |
7 |
Correct |
183 ms |
27384 KB |
Output is correct |
8 |
Correct |
188 ms |
28096 KB |
Output is correct |
9 |
Correct |
194 ms |
28864 KB |
Output is correct |
10 |
Correct |
248 ms |
30924 KB |
Output is correct |
11 |
Correct |
219 ms |
29996 KB |
Output is correct |
12 |
Correct |
270 ms |
33584 KB |
Output is correct |
13 |
Correct |
270 ms |
31420 KB |
Output is correct |
14 |
Correct |
302 ms |
33312 KB |
Output is correct |
15 |
Correct |
319 ms |
34068 KB |
Output is correct |
16 |
Correct |
362 ms |
33780 KB |
Output is correct |
17 |
Correct |
315 ms |
34624 KB |
Output is correct |
18 |
Correct |
353 ms |
38460 KB |
Output is correct |
19 |
Correct |
342 ms |
34816 KB |
Output is correct |
20 |
Correct |
405 ms |
38060 KB |
Output is correct |