Submission #167004

# Submission time Handle Problem Language Result Execution time Memory
167004 2019-12-05T07:50:48 Z abil Trading (IZhO13_trading) C++14
100 / 100
944 ms 29072 KB
#include <bits/stdc++.h>

#define fr first
#define sc second
#define pb push_back
#define mk make_pair
#define all(s) s.begin(),s.end()
//#define int long long

using namespace std;

const int N = (3e5 + 12);
const int mod = (1e9 + 7);
const int INF = (0x3f3f3f3f);

int l[N], r[N], x[N], ans[N];
set<pair<int,int >> st, dt, cur_set;

void del(pair<int,int > pr){
	cur_set.erase(cur_set.find({l[pr.sc] - x[pr.sc], pr.sc}));
}
void add(pair<int,int > pr){
	dt.insert({r[pr.sc] + 1, pr.sc});
	cur_set.insert({l[pr.sc] - x[pr.sc], pr.sc});
}

int get(int pos){
	int res = 0;
	if(!cur_set.empty()){
		res = pos - cur_set.begin() -> fr;
	}
	return res;
}
main()
{
	int n, m;
	cin >> n >> m;
	for(int i = 1;i <= m; i++){
		scanf("%d%d%d", &l[i], &r[i], &x[i]);
		st.insert({l[i], i});
	}
	for(int i = 1;i <= n; i++){
		while(!dt.empty() && dt.begin() -> fr == i){
			del(*dt.begin());
			dt.erase(dt.begin());
		}
		while(!st.empty() && st.begin() -> fr == i){
			add(*st.begin());
			st.erase(st.begin());
		}
		printf("%d ", get(i));
	}
}

Compilation message

trading.cpp:34:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
trading.cpp: In function 'int main()':
trading.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &l[i], &r[i], &x[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 504 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
4 Correct 3 ms 376 KB Output is correct
5 Correct 4 ms 504 KB Output is correct
6 Correct 6 ms 632 KB Output is correct
7 Correct 398 ms 15216 KB Output is correct
8 Correct 429 ms 16164 KB Output is correct
9 Correct 456 ms 16924 KB Output is correct
10 Correct 572 ms 19432 KB Output is correct
11 Correct 490 ms 17788 KB Output is correct
12 Correct 622 ms 21192 KB Output is correct
13 Correct 604 ms 20680 KB Output is correct
14 Correct 659 ms 21472 KB Output is correct
15 Correct 762 ms 23292 KB Output is correct
16 Correct 759 ms 24612 KB Output is correct
17 Correct 715 ms 25464 KB Output is correct
18 Correct 881 ms 29072 KB Output is correct
19 Correct 793 ms 25340 KB Output is correct
20 Correct 944 ms 27576 KB Output is correct