Submission #108059

#TimeUsernameProblemLanguageResultExecution timeMemory
108059aer0parkXCorr (KOI18_XCorr)C++14
0 / 100
4 ms512 KiB
#include <bits/stdc++.h> #define f first #define s second using namespace std; typedef long long ll; typedef pair<ll,ll> pi; ll n,m,mx,mn,anw; vector<pi> px,y; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cin>>n; for(int i=0;i<n;i++) { ll a,b;cin>>a>>b; if(i==0) px.push_back({a,b}); else px.push_back({a,px[i-1].s+b}); } cin>>m; for(int i=0;i<m;i++) { ll a,b;cin>>a>>b; y.push_back({a,b}); } cin>>mn>>mx; for(int i=0;i<m;i++) { ll nw=y[i].f,nv=y[i].s,a=0,b=0; if(nw+mn>=0) a=lower_bound(px.begin(),px.end(),pi(nw+mn,0))-px.begin(); if(nw+mx>=0) { b=upper_bound(px.begin(),px.end(),pi(nw+mx,1e11))-px.begin(); if(b==0&&px[b].first>nw+mx) continue; b-=1; } else continue; if(a!=0) anw+=nv*(px[b].second-px[a-1].second); if(a==0) anw+=nv*px[b].second; } cout<<anw; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...