Submission #1311718

#TimeUsernameProblemLanguageResultExecution timeMemory
1311718samarthkulkarniLightning Rod (NOI18_lightningrod)C++17
66 / 100
1038 ms207692 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]; 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; for (int i = 0; i < n; i++) { cin >> a[i].ff >> a[i].ss; } vi avl; for (int i = 0; i < n; i++) { if (avl.size() == 0) avl.push_back(i); else { if (isValid(i, avl.back())) continue; else { while (avl.size() > 0 && isValid(avl.back(), i)) avl.pop_back(); avl.push_back(i); } } } cout << avl.size() << endl; }
#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...