ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1134. Карты

Help! My program couldn't pass!
Послано Tang RZ 30 май 2004 11:55
var
  n,m:integer;
  a,b:array [0..1000] of integer;

procedure init;
var
  flag:boolean;
  i,j,temp:integer;
begin
  read(n);
  read(m);
  flag:=true;
  for i:=1 to m-1 do
    b[i]:=2;
  b[0]:=1;
  b[n]:=1;
  flag:=true;
  for i:=1 to m do
    read(a[i]);
  for i:=1 to m-1 do
    for j:=i+1 to m do
      if a[i]>a[j] then
        begin
          temp:=a[i];
          a[i]:=a[j];
          a[j]:=temp;
        end;
  for i:=1 to m do
    if b[a[i]]>0 then
      begin
        dec(b[a[i]]);
        dec(b[a[i]+1]);
      end
      else begin flag:=false; break; end;
  if flag then writeln('YES') else writeln('NO');
end;

begin
  init;
end.