Submission

Status:
---xxxxxxx

Score: 0

User: Jokul

Problemset: ความลึก

Language: c

Time: 0.005 second

Submitted On: 2025-04-13 09:19:28

#include <stdio.h>

#define MAX_LENGTH 100000

int main() {
    int N, Q;
    scanf("%d %d", &N, &Q);
    int depth[MAX_LENGTH + 1] = {0};
    int position = 0;

    for (int i = 0; i < N; i++) {
        int D, L;
        scanf("%d %d", &D, &L);
        for (int j = 0; j < L; j++) {
            position++;
            depth[position] = depth[position - 1] + D;
        }
    }
    int min_depth[MAX_LENGTH + 1];
    min_depth[0] = depth[0];
    for (int i = 1; i <= position; i++) {
        min_depth[i] = (depth[i] < min_depth[i - 1]) ? depth[i] : min_depth[i - 1];
    }

    for (int i = 0; i < Q; i++) {
        long long width;
        scanf("%lld", &width);

        if (width > position) {
            printf("0\n");
        } else {
            printf("%d\n", min_depth[width - 1]);
        }
    }

    return 0;
}