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)