Задачи заочного тура личного первенства 2009
A. Часы
Техника программирования, моделирование
| 11/09/2009 | Заочный тур личного первенства (A) |
| 01/07/2019 | Лето 2019 - 1 (упрощенное) (E) |
| 01/07/2022 | Лето 2022-3 (командное) (F) |
| 25/11/2023 | Марафон 80 задач, 6 этап (G) |
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (1)

Пример ввода
3 00:00 12:34 23:59
Пример вывода
01:10 13:31 00:00
B. Сортировка
Задачи на идею
| 11/09/2009 | Заочный тур личного первенства (B) |
| 14/07/2016 | Лето 2016 - 9 (E) |
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)

program BubbleSort;
var
Arr:Array[1..100000] of Integer;
n, i, Temp, Count, NLoop : Integer;
Flag : Boolean;
begin
read(n);
for i:=1 to n do
read(Arr[i]);
Count := 0;
NLoop := 0;
repeat
Flag := False;
for i := 1 to n - 1 do
if Arr [i] > Arr [i + 1] then
begin
Temp := Arr [i];
Arr [i] := Arr [i + 1];
Arr [i + 1] := Temp;
Flag := True;
inc(Count);
end;
inc(NLoop);
until not Flag;
writeln(Count,' ',NLoop);
end;
#include <stdio.h>
int Arr[100000];
int n, i, Temp, Count=0, NLoop=0, Flag;
int main()
{ scanf("%d",&n);
for(i=0; i<n; ++i)
scanf("%d",&Arr[i]);
do
{ Flag=0;
for(i=0; i<n-1; ++i)
if(Arr[i]>Arr[i+1])
{ Temp=Arr[i];
Arr[i]=Arr[i+1];
Arr[i+1]=Temp;
Flag=1;
++Count;
}
++NLoop;
} while(Flag);
printf("%d %dn",Count,NLoop);
return 0;
}
Пример ввода
4 10 1 2 1
Пример вывода
4 3
C. Марки
Динамическое программирование и запоминающие функции
| 11/09/2009 | Заочный тур личного первенства (C) |
| 19/07/2016 | Лето 2016 - 11 (E) |
| 06/07/2020 | Летние сборы - 4 (C) |
| 12/07/2021 | Лето 2021-7 (D) |
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)

| Стоимость пересылки | Количество марок |
| от 1 до `P_1` | не более 1 |
| от `P_1+1` до `P_2` | не более 2 |
| от `P_2+1` до `P_3` | не более 3 |
| … | … |
| от `P_9+1` до `P_10` | не более 10 |
Пример ввода
3 1 2 5
Пример вывода
2 7 12 17 22 27 32 37 42 47