제출 #1311716

#제출 시각아이디문제언어결과실행 시간메모리
1311716samarthkulkarniLightning Rod (NOI18_lightningrod)C++17
66 / 100
1089 ms207532 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+10; pr a[N]; void solution() { ll n; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i].ff >> a[i].ss; } vi avl; auto isValid = [&](int i, int j) { // jth index has light rod return abs(a[i].ff-a[j].ff) <= a[j].ss-a[i].ss; }; 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...