Задача С++
Монобильярд
Стол для монобильярда, установленный в игровом доме уездного города N, оказался очень прибыльным вложением. До того, как в городе появился небезызвестный господин Чичиков. Раз за разом он выигрывал, и хозяин, подсчитывая убытки, понимал, что дело тут нечисто. Однако уличить подлеца в жульничестве не удавалось до прибытия в город N ревизора из Петербурга.
Правила игры в монобильярд очень нужно последовательно закатить в единственную лузу шары с номерами 1, 2, …, N (именно в этом порядке). Пока господин Чичиков играл, ревизор несколько раз подходил к столу и забирал из лузы последний закатившийся туда шар. В конце концов, оказалось, что Чичиков закатил в лузу все шары, а ревизор все шары достал и обследовал. Аферист утверждал, что закатил шары в правильном порядке. Хозяин понял, что это его шанс: ревизор должен помнить, в каком порядке он доставал шары. Однако так ли легко будет доказать жульничество?
Формат входных данных
В первой строке записано целое число N — количество бильярдных шаров (1 ≤ N ≤ 100000). В следующих N строках даны номера этих шаров в том порядке, в котором ревизор забирал их из лузы.
Формат результата
Выведите слово «Cheater», если Чичиков не мог закатить все N шаров в правильном порядке. Иначе выведите «Not a proof».
Примеры
Входные данные
2
2
1
Результат работы
Not a proof
Входные данные
3
3
1
2
Результат работы
Cheater
program test;
var
a:array[1..10,1..10] of integer;
min,max,i,i1,sum,sum2:integer;
begin
for i:=1 to 10 do begin
for i1:=1 to 10 do begin
a[i,i1]:=random(1,100);
write(a[i,i1]:4);
end;
writeln;
end;
writeln('ГЛАВНАЯ ДИАГОНАЛЬ');
min:=a[1,1];
for i:=1 to 10 do begin
for i1:=i to 10 do begin
sum:=sum+a[i,i1];
if a[i,i1]>max then max:=a[i,i1];
if a[i,i1]<min then min:=a[i,i1];
end;
end;
writeln('сумма ',sum);
writeln('Максимальное ',max);
writeln('Минимальное ',min);
sum:=0;
writeln('ПОБОЧНАЯ ДИАГОНАЛЬ');
min:=a[1,1];
for i:=10 downto 1 do begin
for i1:=1 to i do begin
sum:=sum+a[i,i1];
if a[i,i1]>max then max:=a[i,i1];
if a[i,i1]<min then min:=a[i,i1];
end;
end;
writeln('сумма ',sum);
writeln('Максимальное ',max);
writeln('Минимальное ',min);
end.