Submission #378456

# Submission time Handle Problem Language Result Execution time Memory
378456 2021-03-16T21:08:22 Z ijxjdjd Trading (IZhO13_trading) C++14
100 / 100
381 ms 35548 KB
#include <bits/stdc++.h>
#define FR(i, N) for (int i = 0; i < int(N); i++)
#define all(x) begin(x), end(x)

using namespace std;

using ll = long long;

const int MAXN = 300000;
multiset<int> mx;
int offset = 0;
void rm(int p) {
    mx.erase(mx.find(p-offset));
}
void ad(int p) {
    mx.insert(p-offset);
}
vector<int> add[MAXN];
vector<int> rem[MAXN];
int main() {
	cin.tie(0);
	cin.sync_with_stdio(0);
	int N, M;
	cin >> N >> M;
	FR(i, M) {
	    int L, R, P;
        cin >> L >> R >> P;
        add[L].push_back(P);
        rem[R+1].push_back(P+(R-L) + 1);
	}
	for (int i = 1; i <= N; i++) {
        for (int a : add[i]) {
            ad(a);
        }
        for (int b : rem[i]) {
            rm(b);
        }
        if (mx.size() == 0) {
            cout << 0 << '\n';
        }
        else {
            cout << *mx.rbegin() + offset << '\n';
        }
        offset++;
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 10 ms 14444 KB Output is correct
2 Correct 10 ms 14444 KB Output is correct
3 Correct 10 ms 14444 KB Output is correct
4 Correct 11 ms 14444 KB Output is correct
5 Correct 11 ms 14572 KB Output is correct
6 Correct 12 ms 14720 KB Output is correct
7 Correct 178 ms 25760 KB Output is correct
8 Correct 198 ms 26984 KB Output is correct
9 Correct 201 ms 27000 KB Output is correct
10 Correct 225 ms 28004 KB Output is correct
11 Correct 225 ms 28516 KB Output is correct
12 Correct 251 ms 30432 KB Output is correct
13 Correct 252 ms 29664 KB Output is correct
14 Correct 269 ms 30688 KB Output is correct
15 Correct 303 ms 31792 KB Output is correct
16 Correct 317 ms 31972 KB Output is correct
17 Correct 319 ms 32336 KB Output is correct
18 Correct 344 ms 35168 KB Output is correct
19 Correct 323 ms 32352 KB Output is correct
20 Correct 381 ms 35548 KB Output is correct