Nikitosqwerty
30.08.2020 00:50

Лена учится играть на пианино. У нее есть 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 минут


Лена учится играть на пианино. У нее есть n композиций, упорядоченных по возрастанию сложности. Для

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Айхан111111
11.07.2021 12:47
Вот задача для "троечников" с дополнительной оценкой:

program pr1;
uses
crt;

const
arr1 : array[1..12] of integer = (5, 4, -3, 1, 0, -4, 0, 25, -8, 0, -17, -1);

type
arr2 = array of integer;

var
arr : arr2;
n : integer;
i, sot, spl, snu : byte;
ch : char;

begin
write('Хотите использовать заданный по умолчанию массив? (y/n): ');
ch := readkey;
writeln(ch);
sot := 0;
spl := 0;
snu := 0;
if ((ch='y') or (ch='Y')) then begin
{ Используем заданный по умолчанию }
for i:=1 to 12 do begin
if arr1[i] > 0 then inc(spl);
if arr1[i] < 0 then inc(sot);
if arr1[i] = 0 then inc(snu);
write(arr1[i], ' ');
end;
writeln;
end
else begin
{ Создаём и заполняем новый массив }
write('Введите желаемый размер массива: ');
readln(n);
setLength(arr, n);
writeln('Введите элементы массива:');
for i:=0 to high(arr) do
readln(arr[i]);
for i:=0 to high(arr) do begin
if arr[i]>0 then inc(spl);
if arr[i]<0 then inc(sot);
if arr[i]=0 then inc(snu);
write(arr[i], ' ');
end;
writeln;
end;

writeln('Количество отрицательных элементов: ', sot);
writeln('Количество нулевых элементов: ', snu);
writeln('Количество положительных элементов: ', spl);
end.
0,0(0 оценок)
Ответ:
gerty1000
05.03.2020 23:47
Не трудно, но не полностью условие выполнено. Лови решение:

program arrs;
var
a : array[1..26] of integer;
i, min, max : integer;
m1, m2 : byte;

begin
randomize;
for i:=1 to 26 do begin
a[i] := random(29)-15;
write(a[i], ' ');
end;
min := 15;
max := -20;
for i:=1 to 26 do begin
if a[i] < min then begin
min:=a[i];
m1 := i;
end;
if a[i] > max then begin
max:=a[i];
m2 := i;
end;
end;
writeln;
writeln('Минимальный элемент в ячейке ', m1, ' равен ', min);
writeln('Максимальный элемент в ячейке ', m2, ' равен ', max);
end.

тестовый прогон:

0 2 -1 2 -9 -13 -9 -5 0 -14 11 6 8 -11 13 3 -15 -6 -15 -14 -3 13 9 7 3 -4
Минимальный элемент в ячейке 17 равен -15
Максимальный элемент в ячейке 15 равен 13
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота