printРабочее место участника

printЗадачи

1881. Кругосветное путешествие

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Необходимо совершить путешествие по кольцевой автодороге, проходящей через `N` городов. Разрешено ехать из `i`-го города в `(i+1)`-й, а из `N`-го города в `1`-й. В конце путешествия автомобиль должен вернуться в начальный город. В каждом городе есть заправочная станция, в которой автомобиль ожидает некоторое количество топлива. Также известно количество топлива, необходимое для переезда в следующий по маршруту город. При круговом путешествии топливо не должно заканчиваться на дороге между городами, но может закончиться, когда автомобиль приезжает на очередную заправочную станцию. В начале путешествия автомобиль стоит на заправочной станции в одном из городов, а бак автомобиля пуст. Бак автомобиля в этой задаче считается безразмерным и способен вместить любое количество топлива. Суммарное количество топлива на заправках в точности равно суммарному количеству топлива, необходимому для кругового путешествия, поэтому начать успешное круговое путешествие возможно не из каждого города.
Напишите программу, которая определяет из каких городов можно начинать, чтобы совершить успешное круговое путешествие.
Первая строка ввода содержит одно целое число `N` (`2\ ≤\ N\ ≤\ 100\ 000`) — количество городов. Вторая строка ввода содержит `N` положительных целых чисел, разделенных пробелами – запасы топлива в `i`-м городе. Третья строка ввода содержит `N` положительных целых чисел, разделенных пробелами – количество топлива, необходимое для переезда из `i`-го города в `(i+1)`-й, а для `N`-го – в 1-й город. Гарантируется, что сумма чисел во второй строке равна сумме чисел в третьей строке и не превосходит `2^31-1` (максимального значения для longint).
Вывести номера городов, подходящих для начала путешествия, в порядке возрастания. Номера городов должны быть разделены пробелом. Допускается вывод с ведущими или завершающими пробелами. Гарантируется, что есть по меньшей мере один подходящий город.

Пример ввода

3
3 2 2
4 2 1

Пример вывода

2 3
В 50% тестов для этой задачи `N\ ≤\ 1000`.
loading