Submission #190401

# Submission time Handle Problem Language Result Execution time Memory
190401 2020-01-14T07:51:15 Z mrtsima22 Lightning Rod (NOI18_lightningrod) C++17
80 / 100
2000 ms 161600 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define two pair<int,int>
#define pb push_front
#define f first
#define s second
#define sz(container) (int)(container.size())
inline int bin(){
	int x=0;char ch=getchar();
	while (ch<'0'||ch>'9') ch=getchar();
	while (ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
	return x;
}
int n;
deque<two>st;
int main(){
n=bin();
for(int i=1;i<=n;++i){
	int x=bin();
	int y=bin();
	bool ok=1;
	while(!st.empty()){
		int a=st.front().f;
		int b=st.front().s;
		if(x-a<=b-y){
			ok=0;
			break;
		}
		if(x-a<=y-b){
			st.pop_front();
		}else{
			break;
		}
	}
	if(ok){
		st.pb({x,y});
	}
}
printf("%d\n",sz(st));

	// you should actually read the stuff at the bottom
}
/* stuff you should look for
	* int overflow, array bounds
	* special cases (n=1?), slow multiset operations
	* do smth instead of nothing and stay organized
	* unordered_map, hash_map, scanf, calculate answer instead of ans*K
*/
/*


                   *         *
                  * *       * *
                 *   *     *   *
                *     *   *     *
                 *   *   * *   *
                  *   *   *   *
                   *   * *   *
                     *  *   *
					   *  *


*/


# Verdict Execution time Memory Grader output
1 Correct 1766 ms 160692 KB Output is correct
2 Correct 1753 ms 161600 KB Output is correct
3 Correct 1705 ms 158084 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 396 KB Output is correct
9 Correct 5 ms 380 KB Output is correct
10 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 396 KB Output is correct
9 Correct 5 ms 380 KB Output is correct
10 Correct 2 ms 256 KB Output is correct
11 Correct 3 ms 376 KB Output is correct
12 Correct 3 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 396 KB Output is correct
9 Correct 5 ms 380 KB Output is correct
10 Correct 2 ms 256 KB Output is correct
11 Correct 3 ms 376 KB Output is correct
12 Correct 3 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 56 ms 3928 KB Output is correct
15 Correct 54 ms 3704 KB Output is correct
16 Correct 46 ms 3792 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1542 ms 122308 KB Output is correct
2 Correct 1526 ms 122188 KB Output is correct
3 Correct 1490 ms 118392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1766 ms 160692 KB Output is correct
2 Correct 1753 ms 161600 KB Output is correct
3 Correct 1705 ms 158084 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 364 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 256 KB Output is correct
11 Correct 2 ms 396 KB Output is correct
12 Correct 5 ms 380 KB Output is correct
13 Correct 2 ms 256 KB Output is correct
14 Correct 3 ms 376 KB Output is correct
15 Correct 3 ms 376 KB Output is correct
16 Correct 2 ms 376 KB Output is correct
17 Correct 56 ms 3928 KB Output is correct
18 Correct 54 ms 3704 KB Output is correct
19 Correct 46 ms 3792 KB Output is correct
20 Correct 1542 ms 122308 KB Output is correct
21 Correct 1526 ms 122188 KB Output is correct
22 Correct 1490 ms 118392 KB Output is correct
23 Execution timed out 2059 ms 92356 KB Time limit exceeded
24 Halted 0 ms 0 KB -