만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

책가방

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

요약
K권의 책을 골라 무게 합, 최대 부피, 최소 두께의 합이 가장 작아지도록 하는 문제입니다.
난이도

어려움10점 중 8점

유형
정렬, 세그먼트 트리, 그리디
정답자
아직 제출이 없습니다

문제

오늘도 여느 때와 같이 KSA 학생들은 견우관(기숙사) 1층을 나와서 형설관(강의실)으로 가는 오르막을 걷고 있다. 월요일 1교시는 공강이기 때문에 공부할 책 KK권을 기숙사에서 가지고 나와야 한다. 기숙사 방에는 총 NN권의 책이 있는데, ii번 책은 무게 WiW_i, 부피 ViV_i, 두께 TiT_i를 가진다.

누구든지 무겁고 큰 책가방을 메고 오르막을 걷는 것은 싫어하기 때문에 피로도를 최소화하려고 한다. 피로도는 책가방에 든 KK권의 책 무게를 모두 더한 값을 SS, 부피의 최댓값을 MM, 두께의 최솟값을 mm이라고 할 때 S+M+mS + M + m으로 정의한다. 이미 공부하느라 머리를 충분히 써버린 KSA 학생들을 위해 책가방에 어떤 책을 넣어야 하는지 알려주자!

출력

첫 번째 줄에 피로도의 최솟값을 출력한다.

두 번째 줄에 책가방에 넣어야 하는 책들의 번호를 나타내는 KK개의 정수를 공백으로 구분하여 출력한다.

정답이 여러 개 존재한다면 그중 아무거나 출력해도 상관없으며, 번호를 출력하는 순서도 상관없다.

제한

  • 1≤K≤N≤2×1051 \le K \le N \le 2 \times 10^5
  • 0≤Wi,Vi,Ti≤1090 \le W_i, V_i, T_i \le 10^9 (1≤i≤N)(1 \le i \le N)

입력

첫 번째 줄에 두 정수 NN과 KK가 공백으로 구분되어 주어진다.

i+1i + 1번째 줄에 세 정수 WiW_i, ViV_i, TiT_i가 공백으로 구분되어 주어진다. (1≤i≤N)(1 \le i \le N)

예제2

  1. 예제 1

    입력
    3 1
    0 3 0
    1 0 2
    9 9 9
    
    예상 출력
    3
    1
    
  2. 예제 2

    입력
    4 2
    3 1 4
    1 5 9
    2 6 5
    3 5 8
    
    예상 출력
    13
    1 2