Лена учится играть на пианино. У нее есть n композиций, упорядоченных по возрастанию сложности. Для каждой композиции Лена знает время, которое ей потребуется для ее исполнения. Перед тем, как начать учиться, она выбирает целое число L от 1 до n включительно и строит свою программу обучения следующим образом: в первый день она играет композиции 1 , 2 , . . . , L , во второй день композиции 2 , 3 , . . . , L + 1 и так далее. В день, когда Лена играет последнюю композицию, обучение заканчивается (действительно, она же успешно сыграла самую сложную композицию).
Лена заметила, что от выбора L время, которое она проведет за исполнением композиций, меняется. Ей стало интересно, сколько времени она проведет за исполнением композиций, если выберет L = 1 , 2 , . . . , n .
Требуется написать программу, которая для каждого L = 1 , 2 , . . . , n подсчитывает суммарное время, которое Лена потратит на исполнение композиций при заданном L .
Входные данные В первой строке записано число n ( 1 ≤ n ≤ 3 ⋅ 10 5 ) – количество композиций. В следующей строке через пробел записаны n чисел a 1 , a 2 , . . . , a n ( 1 ≤ a i ≤ 10 7 ) , где a i – время исполнения i -й композиции
Выходные данные Выведите n чисел через пробел – суммарное время для L = 1 , 2 , . . . , n соответственно.
Система оценки Решения, работающие правильно при n ≤ 5 , будут набирать не менее
Решения, работающие правильно при n ≤ 300 , будут набирать не менее
Решения, работающие правильно при n ≤ 10 000 , будут набирать не менее
Примеры входные данные 4 1 3 2 4 выходные данные 10 15 15 10 входные данные 5 5 1 3 5 4 выходные данные 18 27 30 27 18 Примечание Обращаем ваше внимание на то, что ответ в данной задаче может быть достаточно большим, поэтому рекомендуем использовать 64-битный тип данных. В C++ для этого предусмотрен тип long long, в Pascal – int64.
Так же, давайте разберем первый пример из условия:
При L = 1 В первый день Лена потратит 1 минуту
Во второй – 3 минуты
В третий – 2 минуты
И в четвертый – 4 минуты
Итого 1+3+2+4=10 минут
При L = 2 В первый день Лена потратит 1+3=4 минуты
Во второй – 3+2=5 минут
В третий – 2+4=6 минут и закончит обучение, так как сыграет последнюю композицию
Итого 4+5+6=15 минут
При L = 3 В первый день Лена потратит 1+3+2=6 минут
Во второй – 3+2+4=9 минут
Итого 6+9=15 минут
При L = 4 В первый и единственный день Лена потратит 1+2+3+4=10 минут
1) var n:integer; begin readln(n); if(n<0)then write(0) else write(n+4); end.
2) var a, b: integer; begin readln(a, b); if(a = b) then write(1) else write(0); end.
3) var a, b, c, s: integer; begin s := 0; readln(a, b, c); if(a >= 0) then s := s + 1; if(b >= 0) then s := s + 1; if(c >= 0) then s := s + 1; write(s); end.
4) var a, b, c, s: integer; begin s := 0; readln(a, b, c); if(a > 0) then s := s + a; if(b > 0) then s := s + b; if(c > 0) then s := s + c; write(s); end. 5) var a, b, c: integer; begin readln(a, b, c); if (a < b) then swap(a, b); if (a < c) then swap(a, c); if (b < c) then swap(b, c); write(a, ' ', b, ' ', c); end.
6) var n, k, s, i: integer; begin s := 0; readln(n, k); for i := 1 to n.ToString.Length do if(strtoint(n.ToString[i]) > k) then s := s + strtoint(n.ToString[i]); write(s); end.
7) var n, s, i: integer; begin s := 0; readln(n); for i := 1 to n do s := s + i; write(s); end.
9) var n, i: integer; begin readln(n); for i := n downto 1 do write(i); end.
12 var n, i: integer; s: real; begin s := 0; readln(n); for i := n downto 1 do s:=s+(0.1*i); write(s); end.
13) var n, i: integer; begin readln(n); for i := 1 to n do write(sqr(i), ' '); end.
14) var n, i, c: integer; begin i := 1; c := 0; readln(n); while (c <> n) do begin if(i mod 3 = 0) then begin write(i, ' ');c := c + 1; end; i := i + 1; end; end.
15) var n, i, a: integer; c: real; begin i := 1; c := 0; readln(n); for i := 1 to n do begin read(a); c := c + a; end; write(c / n) end.
16) var n, i, a: integer; begin i := 1; while true do begin read(a); if(a = 0) then break; n := n + 1; end; write(n) end.
var
n:integer;
begin
readln(n);
if(n<0)then write(0)
else write(n+4);
end.
2)
var
a, b: integer;
begin
readln(a, b);
if(a = b) then
write(1)
else
write(0);
end.
3)
var
a, b, c, s: integer;
begin
s := 0;
readln(a, b, c);
if(a >= 0) then s := s + 1;
if(b >= 0) then s := s + 1;
if(c >= 0) then s := s + 1;
write(s);
end.
4)
var
a, b, c, s: integer;
begin
s := 0;
readln(a, b, c);
if(a > 0) then s := s + a;
if(b > 0) then s := s + b;
if(c > 0) then s := s + c;
write(s);
end.
5)
var
a, b, c: integer;
begin
readln(a, b, c);
if (a < b) then swap(a, b);
if (a < c) then swap(a, c);
if (b < c) then swap(b, c);
write(a, ' ', b, ' ', c);
end.
6)
var n, k, s, i: integer;
begin
s := 0;
readln(n, k);
for i := 1 to n.ToString.Length do
if(strtoint(n.ToString[i]) > k) then s := s + strtoint(n.ToString[i]);
write(s);
end.
7)
var n, s, i: integer;
begin
s := 0;
readln(n);
for i := 1 to n do
s := s + i;
write(s);
end.
9)
var n, i: integer;
begin
readln(n);
for i := n downto 1 do
write(i);
end.
12
var
n, i: integer;
s: real;
begin
s := 0;
readln(n);
for i := n downto 1 do
s:=s+(0.1*i);
write(s);
end.
13)
var n, i: integer;
begin
readln(n);
for i := 1 to n do
write(sqr(i), ' ');
end.
14)
var
n, i, c: integer;
begin
i := 1;
c := 0;
readln(n);
while (c <> n) do
begin
if(i mod 3 = 0) then begin write(i, ' ');c := c + 1; end;
i := i + 1;
end;
end.
15)
var
n, i, a: integer;
c: real;
begin
i := 1;
c := 0;
readln(n);
for i := 1 to n do
begin
read(a);
c := c + a;
end;
write(c / n)
end.
16)
var
n, i, a: integer;
begin
i := 1;
while true do
begin
read(a);
if(a = 0) then break;
n := n + 1;
end;
write(n)
end.
N, s, i: Integer;
s1: real;
begin
readln(N); {общий ввод для всех задач}
if N < 0 then
writeln('Задача 1. N=', 0)
else writeln('Задача 1. N=', N + 4);
s := 0;
for i := 1 to n do
s := s + i;
writeln('Задача 7. 1+2+3+…+N=', s);
write('Задача 9. Последовательность от N до 1 = ');
for i := n downto 1 do
write(i, ' ');
writeln();
s1 := 0;
for i := 1 to n do
s1 := s1 + i / 10;
writeln('Задача 12. 0,1+0,2+0,3+..+N/10=', s1);
write('Задача 13. Последовательность квадратов от 1 до N = ');
for i := 1 to n do
write(i * i, ' ');
writeln();
write('Задача 14. Последовательность первых N нечетных чисел = ');
for i := 1 to n do
write(2 * i - 1, ' ');
writeln();
if N > 0 then
writeln('Задача 20. N степень 3 = ', frac(ln(n) / ln(3)) = 0);
s := 0;
for i := 1 to n do
if n mod i = 0 then
s := s + i;
writeln('Задача 24. Сумма всех натуральных делителей числа N (сключая 1 и N) = ', s);
end.