#include<cstdio>
#include<vector>
#include<set>
struct hat
{
bool type;
int x;
} h;
std::vector<hat> d[300001];
std::multiset<int> s;
std::multiset<int>::iterator it;
int main()
{
int a,b,c;
int i,j,n,m;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d%d",&a,&b,&c);
h.x=c-a;
h.type=false;
d[a].push_back(h);
h.type=true;
d[b+1].push_back(h);
}
for(i=1;i<=n;i++)
{
for(j=0;j<d[i].size();j++)
{
if(d[i][j].type)
s.erase(s.find(d[i][j].x));
else
s.insert(d[i][j].x);
}
if(s.empty())printf("0 ");
else
{
it=s.end();
it--;
printf("%d ",*it+i);
}
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
8240 KB |
Output is correct |
2 |
Correct |
4 ms |
8240 KB |
Output is correct |
3 |
Correct |
0 ms |
8240 KB |
Output is correct |
4 |
Correct |
0 ms |
8240 KB |
Output is correct |
5 |
Correct |
0 ms |
8240 KB |
Output is correct |
6 |
Correct |
8 ms |
8240 KB |
Output is correct |
7 |
Correct |
184 ms |
15528 KB |
Output is correct |
8 |
Correct |
244 ms |
16548 KB |
Output is correct |
9 |
Correct |
232 ms |
17248 KB |
Output is correct |
10 |
Correct |
264 ms |
18432 KB |
Output is correct |
11 |
Correct |
248 ms |
17720 KB |
Output is correct |
12 |
Correct |
316 ms |
20296 KB |
Output is correct |
13 |
Correct |
268 ms |
17880 KB |
Output is correct |
14 |
Correct |
312 ms |
19088 KB |
Output is correct |
15 |
Correct |
376 ms |
19908 KB |
Output is correct |
16 |
Correct |
372 ms |
19112 KB |
Output is correct |
17 |
Correct |
340 ms |
19736 KB |
Output is correct |
18 |
Correct |
376 ms |
22756 KB |
Output is correct |
19 |
Correct |
352 ms |
19852 KB |
Output is correct |
20 |
Correct |
396 ms |
22068 KB |
Output is correct |