| Task: | Final Array |
| Sender: | bigint bugaa |
| Submission time: | 2019-05-25 11:38:15 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.10 s | details |
| #2 | ACCEPTED | 0.07 s | details |
| #3 | ACCEPTED | 0.01 s | details |
Code
#include <iostream>
#include <queue>
#include <utility>
using namespace std;
using ll = long long;
const ll MOD = (int)1e9 + 7;
const int N = 1e5;
vector<pair<int, int>> ques[N];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n, m;
cin >> n >> m;
for (int i = 0; i < m; ++i) {
int a, b, x;
cin >> a >> b >> x;
--a; --b;
ques[a].push_back({x-a, b});
}
priority_queue<pair<int, int>> que;
for (int i = 0; i < n; ++i) {
for (auto pr : ques[i]) {
que.push(pr);
}
while((! que.empty()) && (que.top().second < i)) que.pop();
int ans = -i;
if (! que.empty()) ans = max(ans, que.top().first);
cout << ans + i << ' ';
}
cout << '\n';
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 29706 39977 913671103 20575 89990 878449866 1691 70785 229168045 81099 81323 611730238 ... |
| correct output |
|---|
| 227121122 450258482 450258483 ... |
| user output |
|---|
| 227121122 450258482 450258483 ... Truncated |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 1 100000 1 1 100000 2 1 100000 3 1 100000 4 ... |
| correct output |
|---|
| 100000 100001 100002 100003 10... |
| user output |
|---|
| 100000 100001 100002 100003 10... Truncated |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 8 2 1 4 1 1 8 1 |
| correct output |
|---|
| 1 2 3 4 5 6 7 8 |
| user output |
|---|
| 1 2 3 4 5 6 7 8 |
