#include #include using namespace std; using ll=long long; using pll=pair; using tll=tuple; using ld=long double; const ll INF=(1ll<<30); #define rep(i,n) for(ll i=0;i<(ll)(n);i++) #define all(v) v.begin(),v.end() template void chmin(T &a,T b){ if(a>b){ a=b; } } template void chmax(T &a,T b){ if(a> n >> m >> k; vector> v(m); vector c(n); rep(i,n){ cin >> c[i]; c[i]--; } vector a(m); rep(i,m) cin >> a[i]; atcoder::lazy_segtree seg(m); rep(i,m) seg.set(i,{0,0,a[i]}); rep(i,k){ seg.apply(0,c[i],1); seg.apply(c[i]+1,m,1); } ll ans=seg.all_prod().v; for(ll i=k;i