# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
340521 |
2020-12-27T19:53:21 Z |
rqi |
Trading (IZhO13_trading) |
C++14 |
|
495 ms |
23916 KB |
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pi;
typedef vector<pi> vpi;
#define mp make_pair
#define f first
#define s second
#define pb push_back
#define lb lower_bound
#define sz(x) (int)(x).size()
const int MOD = 1e9+7;
const int mx = 300005;
int N, M;
vpi trade[mx];
int curpos = 0;
set<pi> cur;
pi FIRST(){
assert(sz(cur));
return *(cur.begin());
}
void inc(){
curpos++;
while(sz(cur)){
if(FIRST().s >= curpos) break;
cur.erase(cur.begin());
}
}
void INS(pi a){
//look for first thing at most its value
a.f = -a.f;
auto it = cur.lb(mp(a.f, MOD));
if(it != cur.begin() && (prev(it))->s >= a.s){
return;
}
cur.insert(a);
it = cur.find(a);
while(true){
if(next(it) == cur.end()) break;
auto nit = next(it);
if(nit->s <= a.s){
cur.erase(nit);
}
else break;
}
}
int query(){
if(sz(cur) == 0) return 0;
return -FIRST().f+curpos;
}
int main(){
cin >> N >> M;
for(int i = 1; i <= M; i++){
int L, R, X;
cin >> L >> R >> X;
trade[L].pb(mp(X-L, R));
}
for(int i = 1; i <= N; i++){
inc();
for(auto u: trade[i]){
INS(u);
//cout << "u: " << u.f << ", " << u.s << "\n";
}
cout << query() << " ";
// cout << "cur: " << "\n";
// for(auto u: cur){
// cout << -u.f << " " << u.s << "\n";
// }
// cout << "\n";
}
cout << "\n";
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
7404 KB |
Output is correct |
2 |
Correct |
5 ms |
7404 KB |
Output is correct |
3 |
Correct |
6 ms |
7404 KB |
Output is correct |
4 |
Correct |
6 ms |
7404 KB |
Output is correct |
5 |
Correct |
7 ms |
7404 KB |
Output is correct |
6 |
Correct |
8 ms |
7532 KB |
Output is correct |
7 |
Correct |
236 ms |
15716 KB |
Output is correct |
8 |
Correct |
259 ms |
16736 KB |
Output is correct |
9 |
Correct |
251 ms |
16864 KB |
Output is correct |
10 |
Correct |
274 ms |
16500 KB |
Output is correct |
11 |
Correct |
312 ms |
18280 KB |
Output is correct |
12 |
Correct |
302 ms |
18268 KB |
Output is correct |
13 |
Correct |
335 ms |
18524 KB |
Output is correct |
14 |
Correct |
316 ms |
18648 KB |
Output is correct |
15 |
Correct |
380 ms |
20452 KB |
Output is correct |
16 |
Correct |
416 ms |
20708 KB |
Output is correct |
17 |
Correct |
391 ms |
20964 KB |
Output is correct |
18 |
Correct |
397 ms |
21736 KB |
Output is correct |
19 |
Correct |
378 ms |
20580 KB |
Output is correct |
20 |
Correct |
495 ms |
23916 KB |
Output is correct |