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
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <algorithm>
using namespace std;
int a,b;
struct yolo
{
    long long war;
    int ros;
};
bool cmp(yolo i, yolo j)
{
    return i.ros < j.ros;
}
void read()
{
    cin >> a >> b;
    yolo tab [a];
    for(int i = 0; i < a; i++)
        {
            cin >> tab[i].ros;
            tab[i].war = 0;
        }
    //sort(tab, tab + a, cmp);
    int dni, pozkosz;
    long long suma=0;
    int ostat = 0;
    for(int i = 0; i < b; i++)
        {
            cin >> dni >> pozkosz;
            for(int j = 0; j<a; j++)
            {
                tab[j].war += (dni-ostat) * tab[j].ros;
                if(pozkosz < tab[j].war)
                {
                    suma+=tab[j].war - pozkosz;
                    tab[j].war = pozkosz;
                }
            }
            ostat = dni;
            cout << suma << endl;
            suma=0;
        }
}

int main()
{
    ios_base::sync_with_stdio(0);
    read();
    return 0;
}