#include using namespace std; #define si(a) (long)a.size() #define fi first #define se second #define all(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i<(int)(n);++i) templatebool chmin(S&a,F b){return bbool chmax(S&a,F b){return b>a?(a=b,1):0;} bool _=(ios::sync_with_stdio(0),cin.tie(0),cout< #define lbi(a,x) (lower_bound(all(a),x)-a.begin()) long f(long n, long m, long a, long b){ long ret=0; ret+=n; ret-=atcoder::floor_sum(n,m,a,b+(m-1)); ret+=atcoder::floor_sum(n,m,a,b); return ret; } int main(){ int N,K,M; cin>>N>>K>>M; vector B(N+1,0); vector C(N,0); rep(i,N)cin>>B[i+1],B[i+1]+=B[i]; rep(i,N)cin>>C[i]; C.push_back(0); vector E(N+1,0); rep(i,N)E[i+1]=E[i]+(B[i+1]-B[i])*C[i]; vector D; rep(i,N+1){ D.push_back(B[i]); if(B[i]+Klong { if(r==0)return 0; if(r==B[N]) return E[N]; int i=lbi(B,r+1)-1; return E[i]+(r-B[i])*C[i]; }; long ans=0; rep(i,si(D)-1){ if(D[i]