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;
}