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

Общий форум

1772: Лыжни для роботов
Послано vigosslive 3 янв 2012 01:11
why my solution does not work. If I understand correctly that the fallen robots leave only one open ski runs and it turns out that only the extreme can be free. If anyone can help please contact us by e-mail: programmer_box@rambler.ru

here is the source of my decisions:


#include <iostream>
using namespace std;
int main()
{
    register int i;
    int time = 0;  // количество секунд
    int free_road = 0; // номер свободной дорожки
    int n, s, k;
    cin >> n >> s >> k;
    int *arr;
    arr = new int[k*2]; // массив содержащий координаты упавших роботов
    for(int j=0; j!=(k*2); j++)
    {
        cin >> arr[j] >> arr[++j]; // здесь инициализируем массив
    }

if(k != 0) {
    for(i=0; i!=(k*2); i++)
    {
        if(arr[i]<s && arr[i+1]<s)
        {
            i++;
            continue;
        }
        else
        {
            if(arr[i+1] == n)
            {
                free_road = arr[i] - 1;

                time += (s - free_road);
                s = free_road;
                i++;


            } else
            {
                free_road = arr[i+1] + 1;
                time += (free_road - s);
                s = free_road;
                i++;

            }

        }
    }
}
    cout << time << endl;

    return 0;
}