Submission

Status:

Compilation Error

Subtask/Task Score:

Score: 0

User: meme_boi2

Problemset: Red Zone

Language: cpp

Time: 0.000 second

Submitted On: 2026-03-20 10:29:29

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii array<int,2>
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int n, m, radius, d;
    cin >> n >> m >> radius >> d;
    vector<int> mat(n+1),dp(n+1,0);
    vector<pii> dd(m);
    for(int i = 1; i <= n; i++){
        cin >> mat[i];
    }
    for(int i = 0; i < m; i++){
        int x;
        cin >> x;
        dd[i] = {max(1,x-radius),min(n,x+radius)};
    }
    int l = 1, r = m,ans = -1;
    while(l <= r){
        int mid = (l+r)>>1;
        bool chk = 1;
       // cout << l<< ' ' << r << '\n';
        for(int i = 0; i < mid; i++){
            dp[dd[i][0]] += d;
            if(dd[i][1] + 1 <= n){
                dp[dd[i][1] + 1] -= d;
            }
        }
        int cur = 0;
        for(int i = 1; i <= n; i++){
            cur += dp[i];
            dp[i-1] = 0;
            if(mat[i] > cur){
             //   cout << i << ' ' << mat[i] << ' ' << cur << '\n';
                chk = 0;
            //    break;
            }
        }
        dp[n] = 0;
        if(chk){
            r = mid - 1;
            ans = mid;
        }else{
            l = mid + 1;
        }
    }
    cout << ans;
}