Submission #676478

# Submission time Handle Problem Language Result Execution time Memory
676478 2022-12-31T03:35:07 Z penguin133 Lightning Rod (NOI18_lightningrod) C++17
100 / 100
490 ms 245692 KB
#include <bits/stdc++.h>
using namespace std;

inline int readInt() {
    int x = 0;
    char ch = getchar_unlocked();
    while (ch < '0' || ch > '9') ch = getchar_unlocked();
    while (ch >= '0' && ch <= '9'){
		x = (x << 3) + (x << 1) + ch - '0';
		ch = getchar_unlocked();
	}
    return x;
}

int X[10000000], Y[10000000];

int main(){
	//int N;
	//cin >> N;
	int N = readInt();
	for(int i = 0; i < N; i++) {
		//cin >> X[i];
		//cin >> Y[i];
		X[i] = readInt();
		Y[i] = readInt();
		// write code here
	}
	int cnt = N;
	stack<pair<int, int> >s;
	for(int i=0; i<N;i++){
		int f = 1;
		while(!s.empty()){
			int a = s.top().first;
			int b = s.top().second;
			if(X[i] - a <= b - Y[i]){
				f = 0;
				break;
			}
			else if(X[i] - a <= Y[i] - b){
				s.pop();
			}
			else{
				break;
			}
		}
		if(f == 1){
			s.push(make_pair(X[i] , Y[i]));
		}
	}
	cout << s.size();
	// write code here
	return 0;
}

Compilation message

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:28:6: warning: unused variable 'cnt' [-Wunused-variable]
   28 |  int cnt = N;
      |      ^~~
# Verdict Execution time Memory Grader output
1 Correct 295 ms 237960 KB Output is correct
2 Correct 287 ms 206436 KB Output is correct
3 Correct 271 ms 200652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 324 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 324 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 12 ms 5232 KB Output is correct
15 Correct 10 ms 5196 KB Output is correct
16 Correct 10 ms 5068 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 293 ms 198908 KB Output is correct
2 Correct 296 ms 188500 KB Output is correct
3 Correct 278 ms 177288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 295 ms 237960 KB Output is correct
2 Correct 287 ms 206436 KB Output is correct
3 Correct 271 ms 200652 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 304 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 308 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 308 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 324 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 12 ms 5232 KB Output is correct
18 Correct 10 ms 5196 KB Output is correct
19 Correct 10 ms 5068 KB Output is correct
20 Correct 293 ms 198908 KB Output is correct
21 Correct 296 ms 188500 KB Output is correct
22 Correct 278 ms 177288 KB Output is correct
23 Correct 490 ms 245692 KB Output is correct
24 Correct 465 ms 225456 KB Output is correct
25 Correct 413 ms 207748 KB Output is correct