1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>

#define grass_height(V,t,s) V*t+s

int main(int argc, char** argv) {
    int n, m, i, j;
    scanf("%d %d", &n, &m);

    long* fields = malloc(sizeof(long) * n);
    for (i = 0; i < n; i++) {
        fields[i] = 0;
    }
    int* grass = malloc(sizeof(int) * n);
    for (i = 0; i < n; i++) {
        scanf("%d", grass+i);
    }

    long day, b, prev_day = 0, siano, interval;
    for (i = 0; i < m; i++) {
        siano = 0;
        scanf("%ld %ld", &day, &b);
        interval = day - prev_day;
        prev_day = day;

        for (j = 0; j < n; j++) {
            fields[j] = grass_height(grass[j], interval, fields[j]);
            if (fields[j] > b) {
                siano += fields[j] - b;
                fields[j] = b;
            }
        }
        printf("%ld\n", siano);
    }
}