제출 #1241413

#제출 시각아이디문제언어결과실행 시간메모리
1241413aren_danceBikeparking (EGOI24_bikeparking)C++20
25 / 100
82 ms7492 KiB
#include <bits/stdc++.h> using namespace std; const int N=6e5; int n; long long x[N]; long long y[N]; long long suf[N]; int main() { cin>>n; for(int i=1;i<=n;++i){ cin>>x[i]; } for(int i=1;i<=n;++i){ cin>>y[i]; } for(int i=n;i>0;--i){ suf[i]=suf[i+1]+y[i]; } int vel1=1; int vel2=n; long long answ=0ll; for(int i=1;i<=n;++i){ while(y[i]!=0 && vel1<i){ long long p=min(x[vel1],y[i]); if(vel1!=i){ answ+=p; } y[i]-=p; x[vel1]-=p; if(y[i]!=0) vel1++; } if(suf[i+1]<x[i]){ long long p=min(y[i],x[i]-suf[i+1]); y[i]-=p; x[i]-=p; } while(y[i]!=0 && vel2>i){ long long p=min(x[vel2],y[i]); y[i]-=p; x[vel2]-=p; if(i!=vel2) answ-=p; if(y[i]!=0){ vel2--; } } } cout<<answ; 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...