Niestety, nie byliśmy w stanie w pełni poprawnie wyświetlić tego pliku, ponieważ nie jest zakodowany w UTF-8. Możesz pobrać ten plik i spróbować otworzyć go samodzielnie.
 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
var n, m, i, j: longint;      //n - ile ar�w, rodzai traw  m- ile kosze�
    vv: array[1..1000002] of longint;        //szybkosc wzrostu trawy
    ww: array[1..1000002] of longint;        //aktualna wysokosc trawy
    d, dp, iledni: int64;       //dzie� koszenia  dzien poprzedni ile dni
    b: int64;       //wysoko�� koszenia
    waga: int64;    //sumaryczna waga
    wysprzed,  skoszono: int64;
begin
   readln(n, m);
   for i:=1 to n do read(vv[i]);    readln;
   for i:=1 to n do ww[i]:=0;
   dp:=0;
   for j:=1 to m do   //koszenia
   begin
      readln(d, b);           //dzien;  wysokosc koszenia
      waga:=0;
      iledni:= d - dp;
      for i:=1 to n do
      begin
         wysprzed:=ww[i] + vv[i]*iledni;
         if b < wysprzed then  skoszono:= wysprzed - b
                         else  skoszono:= 0;
         waga:= waga + skoszono;
         if b < wysprzed then ww[i]:=b
                         else ww[i]:=wysprzed;
         dp:=d;
      end;
      writeln(waga);
   end;

    //readln;
end.