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

Обсуждение задачи 1209. 1, 10, 100, 1000...

Why my solution is wrong? I just use binary search.
Послано Vlad Veselov 26 июн 2003 13:55
  Program Task1209; { Binary Search }
   Var L,R,Num,N,I : Word;
       K,T         : LongInt;

   Function F(Const A : LongInt) : LongInt;
    Begin
     F := A * (A + 1) Shr 1;
    End;

   BEGIN
    ReadLn(N);
    For I := 1 To N Do
     begin
      ReadLn(K);
      If K = 1
       Then Write('1 ')
       Else begin
             L := 1;
             R := 40000;
             While R - L <> 1 Do
              begin
               Num := (R + L) Shr 1;
               T := F( Num );
               If K > T
                Then L := Num
                Else R := Num;
              end;
             Num := (R + L) Shr 1;
             T := K - F( Num );
             If T = 1
              Then Write('1 ')
              Else Write('0 ');
            end;
     end;
   END.