Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
4 / 5 / 0
Регистрация: 03.11.2019
Сообщений: 16
1

Сортировка турелей(олимпиадное программирование)

09.11.2019, 11:04. Показов 2014. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
B. Сортировка турелей
Ограничение времени 1 секунда
Ограничение памяти 256Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
ГЛаДОС сортирует турели! Дело в том, что она решила проверить состояние всех турелей — накануне Уитли зачем-то перекрасил часть турелей в другой цвет (обычная турель белого цвета). Хорошо еще, что турель-солистка и турель-предсказательница не пострадали. А еще хорошо, что Уитли не стал перекрашивать турель "Царь зверей", а то все закончилось бы не очень хорошо.

Всего в Aperture Laboratories осталось N турелей, каждая из них характеризуется силой Ai.

Сначала ГЛаДОС выстраивает белые турели в порядке невозрастания силы, а справа от них — цветные турели в порядке невозрастания силы. Теперь ей интересно: какова максимальная разница между двумя соседними турелями?

Формат ввода
В первой строке на вход подается одно целое число N ≤ 105 — количество турелей. Далее в N строках характеризуются сами турели: вводится пара чисел di и 1 ≤ Ai ≤ 109, где di=0, если турель белая, и di=1, если цветная. Ai — это сила турели.

Формат вывода
Выведите одно целое число — ответ на задачу.

Пример
Ввод Вывод
6 22
0 120
1 130
1 142
1 115
0 145
0 134
22


Хелпуйте!!!(С++)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2019, 11:04
Ответы с готовыми решениями:

Олимпиадное программирование
Доброго времени суток!Собсна сабж: в школе участвовал на олимпиадах по программированию, занимался...

Изучение С/С++. Олимпиадное программирование
Здравствуйте. Сейчас учусь на первом курсе, изучаю С, потом перейду на С++. В будущем планирую...

Драконы и лапки(олимпиадное программирование)
D. Драконы и лапки Ограничение времени 1 секунда Ограничение памяти 256Mb Ввод стандартный ввод...

Олимпиадное программирование
Всем доброго времени суток! Прошу помощи с задачей с тимуса 1570. Ссылка:...

2
817 / 504 / 211
Регистрация: 19.01.2019
Сообщений: 1,196
09.11.2019, 14:56 2
Лучший ответ Сообщение было отмечено Anioni13 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <algorithm>
 
int main()
{
    size_t len;
    std::cin >> len;
    uint32_t* arr = new uint32_t[len];
    auto it1 = arr;
    auto it2 = std::make_reverse_iterator(arr + len);
    char ch;
    for (size_t i(0); i < len; ++i) {
        std::cin >> ch;
        std::cin >> (ch == '0' ? *it1++ : *it2++);
    }
 
    std::sort(std::make_reverse_iterator(it1), std::make_reverse_iterator(arr));
    std::sort(std::make_reverse_iterator(arr + len), it2);
 
    uint32_t maxDiff(0);
    for (it1 = arr; it1 < arr + len - 1; ++it1) {
        uint32_t diff = abs(int32_t(*it1) - int32_t(*(it1 + 1)));
        if (diff > maxDiff) maxDiff = diff;
    }
    std::cout << maxDiff;
 
    delete[] arr;
    return 0;
}
2
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
09.11.2019, 15:37 3
make_reverse_iterator
Напридумывали всякого и не упомнишь!
1
09.11.2019, 15:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2019, 15:37
Помогаю со студенческими работами здесь

Олимпиадное программирование
Здравствуйте. Посоветуйте, пожалуйста, какие-нибудь книги или интернет-ресурсы по олимпиадному...

Олимпиадное программирование!
Привет всем!Я начинающий программер и очень хотелось бы решать олимпиадный задачки c acm.sgu.ru!...

Программирование: Олимпиадное vs Промышленное
Данная тема вынесена из https://www.cyberforum.ru/holywars/thread24458.html Я не понимаю, а...

Олимпиадное программирование 11 класс
Задачу прикрепил во вложение. Задача #3. Буду благодарен за помощь)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru