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
36
37
38
39
40
41
#include <iostream>
#include <vector>
#include <cstdlib>

#include <fstream>

int main()
{
    uint32_t n, m; 
    
    std::cin >> n >> m;
    std::vector< uint64_t > a(n);
    std::vector< uint64_t > r;
    for( int i=0; i<n; ++i )
        std::cin >> a[i]; 

    std::vector< uint64_t > h(n,0);
    uint64_t last_d = 0;
    for( size_t i=0; i<m; ++i )
    {
        uint64_t d, b; 
        uint64_t s = 0;
        std::cin >> d >> b;
        for( uint32_t j=0; j<n; ++j )
        {
            h[j] += (d-last_d)*a[j];
            if( h[j] > b )
            {
                s += h[j]-b;
                h[j] = b;
            }
        }
        last_d = d;
        r.push_back( s );
    }

    for( size_t i=0; i<r.size(); ++i )
        std::cout << r[i] << std::endl;

    return 0;
}