В цехе по производству напитков работают два конвейера. На первом конвейере напиток разливается по бутылкам, а на втором - происходит закупоривание бутылок. После схода с первого конвейера очередной бутылки она сразу же поступает на второй. Поскольку тара используется различная, то каждая бутылка имеет свое время ее заполнения и время закупорки. Требуется написать программу, которая для заданной последовательности бутылок:
Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение времени: 20 секунд
Формат входных данных: В первой строке входного файла содержится целое число N (1<N<1000) - количество бутылок. Далее идут N пар чисел X1 Y1 X2 Y2 ... XN YN. Здесь Xi означает время разлива, a Yi - время закупорки бутылки с номером i. Xi и Yi - неотрицательные целые числа, не превосходящие 1000000. Все числа разделяются пробелами и/или символами перевода строки.
Формат выходных данных: Первая строка выходного файла должна содержать время, требуемое для исходной последовательности бутылок, вторая - минимально возможное время для пункта B задачи. Третья строка должна содержать перестановку номеров бутылок от 1 до N, для которой достигается минимальное время.
Пример файлов входных и выходных данных:
| INPUT.TXT | OUTPUT.TXT |
| 3 | 490 |
| 200 40 | 370 |
| 100 100 | 3 2 1 |
| 30 90 |