아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Поручения

시간 제한2초메모리 제한1024 MB

요약
각기 다른 고통과 고통의 정도를 가진 n개의 과제를 순서를 정해 수행하며 추가되는 피로의 최솟값을 구한다.
난이도

보통10점 중 6점

유형
정렬, 그리디, 조합론, 동적 계획법
정답자
아직 제출이 없습니다

문제

Учитель Сплинтер всегда держит своих учеников в тонусе. Он дал им nn поручений: им нужно помочь Кейси Джонсу в уличной драке, спасти Землю от нападок Шреддера и сорвать коварные планы Кренга, а в довесок еще сделать кучу дел по дому. Причем черепашкам необходимо выполнить все эти задания.

Очевидно, каждое поручение --- не из приятных и доставляет черепашкам какое-то количество боли и страданий. Когда черепашки выполняют очередное задание, боль, которую оно приносит, может добавиться к усталости черепашек. Однако, это происходит только в том случае, если любое из заданий, выполненных ими раньше, приносило им меньше боли, чем последнее выполненное. Страдание добавляется к усталости по таким же правилам.

Теперь черепахи хотят выполнять задания в таком порядке, чтобы после выполнения всех заданий усталость была минимальна.

입력

В первой строке входного файла задано одно целое число nn --- количество заданий, которые получили черепашки. (1≤n≤1051 \le n \le 10^5). Далее следуют nn строк, где для каждого ii-го задания задано два целых числа --- количество боли a_ia\_i и страдания b_ib\_i (1≤a_i,b_i≤1091 \le a\_i, b\_i \le 10^9). Гарантируется, что все a_ia\_i различны и все b_ib\_i различны.

출력

В первую строку выходного файла выведите минимальную усталость черепашек после выполнения всех заданий. Во второй строчке выходного файла выведите перестановку чисел от 11 до nn --- порядок, в котором следует выполнять задания. Если существует несколько оптимальных ответов, выведите любой.

힌트

Решения, работающие в случае, когда n≤10n \le 10, будут оцениваться в 3030 баллов.

예제1

  1. 예제 1

    입력
    3
    3 2
    2 3
    1 1
    
    예상 출력
    8
    2 1 3