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

Обсуждение задачи 1079. Максимум

If you want to know how to solve this problem, look here! :-)
Послано Veselin Kolev 13 сен 2004 01:20
#include <iostream>

using namespace std;
unsigned nMax=0;
unsigned n[10];
unsigned solveAns[100000];
short Count=-1;

void Input()
     {unsigned nTec;
      cin>>nTec;
      while (nTec!=0)
            {Count++;
             n[Count]=nTec;
             if (nMax<nTec) nMax=nTec;
             cin>>nTec;
            }
     }

void Solve()
     {solveAns[0]=0;
      solveAns[1]=1;
      for (int i=2; i<=nMax; i++)
          {solveAns[i]=solveAns[i/2];
           i++;
           solveAns[i]=solveAns[i/2]+solveAns[(i/2)+1];
          }
     }

void Output()
     {unsigned Max;
      for (int i=0; i<=Count; i++)
          {Max=0;
           for (int j=0; j<=n[i]; j++)
              if (Max<solveAns[j])
                 Max=solveAns[j];
           cout<<Max<<"\n";
          }
     }

int main()
    {Input();
     Solve();
     Output();
     return 0;
    }