Submission

Status:

(PPPP-SSSSSSSS)(-SSSSSS)(SSSSSSSSS)

Subtask/Task Score:

{0/30}{0/30}{0/40}

Score: 0

User: Nathako9n

Problemset: Red Zone

Language: cpp

Time: 0.015 second

Submitted On: 2026-01-24 09:51:57

#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

*/