제출 #1172597

#제출 시각아이디문제언어결과실행 시간메모리
1172597ezzzayBikeparking (EGOI24_bikeparking)C++20
100 / 100
194 ms20304 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define int long long const int N=3e5+5; int a[N]; int b[N]; signed main(){ int n; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++)cin>>b[i]; int s=0; set<int>st; for(int i=1;i<=n;i++){ st.insert(i); } for(int i=n;i>=1;i--){ auto it= st.upper_bound(i); vector<int>del; while(it!=st.end()){ int j=*it; int x=min(a[i],b[j]); s+=x; a[i]-=x; b[j]-=x; if(b[j]==0)del.pb(j); it++; if(a[i]==0)break; } for(auto j:del)st.erase(j); } for(int i=1;i<=n;i++){ int x=min(a[i],b[i]); a[i]-=x; b[i]-=x; s-=b[i]; } cout<<s; }
#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...