제출 #1311790

#제출 시각아이디문제언어결과실행 시간메모리
1311790samarthkulkarniLightning Rod (NOI18_lightningrod)C++17
80 / 100
1099 ms114244 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC target ("avx2") #pragma GCC optimize ("O3") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize("fast-math") using ll = int; #define vi vector<long long> #define all(x) x.begin(), x.end() #define endl "\n" #define pr pair<ll, ll> #define ff first #define ss second void solution(); int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); solution(); return 0; } const int N = 1e7; pr a[N]; ll avl[N+5]; inline bool isValid(int i, int j) { return abs(a[i].ff-a[j].ff) <= a[j].ss-a[i].ss; } void solution() { ll n; cin >> n; int p = -1; for (int i = 0; i < n; i++) { cin >> a[i].ff >> a[i].ss; if (p == -1) avl[++p] = i; else { if (isValid(i, avl[p])) continue; while (p >= 0 && isValid(avl[p], i)) p--; avl[++p] = i; } } cout << p+1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...