Cod sursa(job #1405645)
Utilizator | Data | 29 martie 2015 14:46:04 | |
---|---|---|---|
Problema | Euro | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
program project5;
var
n, t, i, j, min: longint;
w, sum, f: array[0..34567] of longint;
begin
readln(n, t);
for i := 1 to n do
Read(w[i]);
for i := 1 to n do
begin
sum[i] := sum[i - 1] + w[i];
f[i] := -maxlongint;
end;
min := -maxlongint;
for i := 1 to n do
for j := 0 to i - 1 do
begin
if f[j] + (sum[i] - sum[j]) * i - t > f[i] then
f[i] := f[j] + (sum[i] - sum[j]) * i - t;
if f[i] > min then
min := f[i];
end;
writeln(min);
end.