제출 #1311672

#제출 시각아이디문제언어결과실행 시간메모리
1311672aryanLightning Rod (NOI18_lightningrod)C++20
40 / 100
1102 ms195292 KiB
#include<bits/stdc++.h> using namespace std; using i64 = long long; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector<pair<int,int>> a(n); vector<int> su(n),di(n); for(int i = 0;i < n;i++){ cin >> a[i].first >> a[i].second; su[i] = a[i].first + a[i].second; di[i] = a[i].first - a[i].second; } vector<int> ind(n); iota(ind.begin(),ind.end(),0); sort(ind.begin(),ind.end(),[&](int i,int j){ return a[i].second < a[j].second; }); int ans = 0; vector<pair<int,int>> ma,mi; for(int i = n - 1;i >= 0;i--){ bool ok = false; int e = ind[i]; for(pair<int,int> p : ma){ if(p.first <= a[e].first){ if(p.second >= su[e]) ok = true; } } for(pair<int,int> p : mi){ if(p.first >= a[e].first){ if(p.second <= di[e]) ok = true; } } if(!ok){ ma.push_back({a[e].first,su[e]}); mi.push_back({a[e].first,di[e]}); ans ++; } } cout << ans << '\n'; return 0; }
#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...