Submission
Status:
(PPPPPPPPPPPPP)(PPPPPPP)(PPPPPPPPP)
Subtask/Task Score:
{30/30}{30/30}{40/40}
Score: 100
User: tull
Problemset: Red Zone
Language: python
Time: 1.293 second
Submitted On: 2026-07-31 23:29:21
n,m,rng,dmg=map(int,input().split())
house=list(map(int,input().split()))
query=list()
for i in range(m):
x=int(input())
x-=1
query.append(x)
l=1
r=m
ans=-1
#print(house,query)
while l<=r:
mid=(l+r)//2
tmp=[0 for _ in range(n+1)]
for i in range(mid):
tmp[max(0,query[i]-rng)]-=dmg
tmp[min(n,query[i]+rng+1)]+=dmg
for i in range(1,n):
tmp[i]+=tmp[i-1]
fl=0
for i in range(n):
if house[i]+tmp[i]>0:
fl=1
break
#print(l,r,mid,tmp)
if(fl==1):
l=mid+1
else:
ans=mid
r=mid-1
print(ans)