답안 #123093

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
123093 2019-06-30T08:25:45 Z mechfrog88 Lightning Rod (NOI18_lightningrod) C++14
0 / 100
2000 ms 164156 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#pragma GCC optimize("unroll-loops,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
 
using namespace __gnu_pbds;
using namespace std;
 
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 
typedef long long ll;
typedef long double ld;	

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	ll n;
	scanf("%lld",&n);
	vector <pair<ll,ll>> arr(n);
	for (int z=0;z<n;z++){
		scanf("%lld %lld",&arr[z].first,&arr[z].second);
		arr[z].first -= arr[z].second;
		arr[z].second += arr[z].first;
	}
	stack <pair<ll,ll>> s;
	for (int z=0;z<n;z++){
		if (s.empty()){
			s.push(arr[z]);
		}
		pair<ll,ll> s1 = s.top();
		if (s1.first <= arr[z].first && arr[z].second <= s1.second) continue;
		else{
			while (arr[z].first <= s1.first && s1.second <= arr[z].second){
				s.pop();
				if (s.size() == 0) break;
				s1 = s.top();
			}
			s.push(arr[z]);
		}
	}
	cout << s.size() << endl;
}

Compilation message

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:20:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&n);
  ~~~~~^~~~~~~~~~~
lightningrod.cpp:23:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&arr[z].first,&arr[z].second);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2073 ms 152056 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2050 ms 164156 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2073 ms 152056 KB Time limit exceeded
2 Halted 0 ms 0 KB -