Submission

Status:

(PPPPPPPPPPPPP)(PPPTSSS)(SSSSSSSSS)

Subtask/Task Score:

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

Score: 30

User: vachirasawin

Problemset: Red Zone

Language: cpp

Time: 1.090 second

Submitted On: 2026-03-14 10:50:36

// grader-chan | SU
// c2_su64_redzone.cpp | c2_su64_redzone

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int N, M, L, D;
    cin >> N >> M >> L >> D;

    vector<int> A(N);
    for (int i = 0; i < N; i++) cin >> A[i];

    for (int i = 0; i < M; i++) {
        int Bi;
        cin >> Bi;
        Bi--;

        int start = max(0, Bi - L);
        int end = min(N - 1, Bi + L);
        for (int j = start; j <= end; j++) A[j] -= D;

        bool still_alive = false;
        for (int j = 0; j < N; j++) {
            if (A[j] > 0) {
                still_alive = true;
                break;
            }
        }

        if (!still_alive) {
            cout << i + 1 << endl;
            return 0;
        }
    }

    cout << -1 << endl;

    return 0;
}