Submission
Status:
(PPPPPPPPPPPPP)(PPPPPPP)(PPPPPPPPP)
Subtask/Task Score:
{30/30}{30/30}{40/40}
Score: 100
User: Nathako9n
Problemset: Red Zone
Language: cpp
Time: 0.017 second
Submitted On: 2026-01-24 10:02:59
#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
using namespace std;
const int N = 1e5+5;
ll n,m,L,d;
ll ar[N+3],bom[N+3];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m>>L>>d;
for(int i=1;i<=n;i++)cin>>ar[i];
for(int i=1;i<=m;i++)cin>>bom[i];
int l=1,r=m;
while(l<=r){
int mid=l+(r-l)/2;
bool ch=1;
vector<ll>vec(n+2,0);
// for(int i=1;i<=n;i++)vec[i]=ar[i];
for(int i=1;i<=mid;i++){
vec[max(1LL,bom[i]-L)]-=d;
vec[min(n+1,bom[i]+L+1)]+=d;
}
for(int i=1;i<=n;i++){
vec[i]+=vec[i-1];
if(ar[i]+vec[i]>0){
ch=0;
break;
}
}
if(ch)r=mid-1;
else l=mid+1;
}
if(l>m)cout<<-1;
else cout<<l;
}
/*
6 8 1 4
4 7 6 2 5 3
1
3
6
1
4
6
5
3
*/