동아리방 청소!
면접 대비시간 제한1초메모리 제한128 MB
M번 저녁 청소를 배치해 청소 후 누적된 오염도와 일일 방문자 수 곱의 합을 최소화합니다.
문제
남규는 동아리방 관리자다. 동아리방을 쓰는 사람이 늘면서 방이 더러워졌고, 오는 사람마다 불쾌함을 느낀다.
한 사람이 느끼는 불쾌함은 그 사람이 방에 들어온 날 아침의 더러움과 같다. 더러움이 3인 날에 5명이 오면 다섯 명 모두 불쾌함 3을 느끼므로 그날 불쾌함의 합은 15다. 그리고 그날 드나든 사람 수만큼 더러움이 늘어난다. 정리하면 어떤 날 아침의 더러움이 이고 그날 드나드는 사람이 명이면, 그날 사람들이 느낀 불쾌함의 합은 이고 모두 나간 뒤의 더러움은 가 된다.
남규는 게을러서 일 중 정확히 일만 청소한다. 청소는 항상 그날 사람이 모두 나간 뒤 저녁에 하고, 청소한 날 저녁의 더러움은 0이 된다. 첫날 아침의 더러움은 0이다.
일 동안 매일 몇 명이 드나드는지 미리 알고 있다. 불쾌함의 총합이 가장 작아지는 청소 계획을 구하라.
입력
첫째 줄에 과 이 주어진다. (, )
둘째 줄에 각 날에 드나드는 사람 수 이 공백으로 구분되어 주어진다. ()
출력
첫째 줄에 일 동안 사람들이 느낀 불쾌함 총합의 최솟값을 출력한다.
둘째 줄에 그 최솟값을 만드는 청소 날짜 개를 오름차순으로 공백 하나로 구분해 출력한다. 최솟값을 만드는 계획이 여러 가지면, 날짜를 오름차순으로 늘어놓은 수열이 사전순으로 가장 앞서는 것을 출력한다.
힌트
8일 동안 드나드는 사람 수가 차례로 이고 3일과 6일 저녁에 청소하면 날짜별 값은 다음과 같다.