Submission #547184

#TimeUsernameProblemLanguageResultExecution timeMemory
547184Ahmed57Lightning Rod (NOI18_lightningrod)C++14
66 / 100
2061 ms61700 KiB
#include<bits/stdc++.h> using namespace std; int main() { int n;cin>>n; vector<pair<int,int>> v; for(int i = 0;i<n;i++){ int a,b; cin>>a>>b; v.push_back({a,b}); } int per[n]={} , suf[n]={}; per[0] = v[0].first+v[0].second; suf[n-1] = v[n-1].second-v[n-1].first; for(int i = 1;i<n;i++){ per[i] = max(per[i-1],v[i].first+v[i].second); }for(int i = n-2;i>=0;i--){ suf[i] = max(suf[i+1],v[i].second-v[i].first); } long long ans = 0; for(int i = 0;i<n;i++){ if(i==0){ if(suf[i+1]<v[i].second-v[i].first){ ans++; } }else if(i==n-1){ if(per[i-1]<v[i].first+v[i].second)ans++; }else{ if(suf[i+1]<v[i].second-v[i].first&&per[i-1]<v[i].first+v[i].second)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...