티스토리 뷰

https://www.acmicpc.net/problem/29723

 

29723번: 브실이의 입시전략

첫 번째 줄에 브실이가 수강한 과목 수 $N$과 브실대학에서 요구하는 과목 수 $M$, 그리고 브실대학에서 공개한 과목 수 $K$가 공백으로 구분되어 주어진다. $(1 \le K \le M \le N \le 10\,000)$ 그다음 $N$줄

www.acmicpc.net

 

const [NMK, ...S] = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n')
	.map((v) => v.trim());

const [N, M, K] = NMK.split(' ').map(Number);

const subject = {};

for (let i = 0; i < N; i++) {
	const sugang = S[i].split(' ');
	const name = sugang[0];
	const score = +sugang[1];
	subject[name] = score;
}

let base = 0;
for (let i = 0; i < K; i++) {
	const public = S[N + i];
	base += subject[public];
	delete subject[public];
}

const private = Object.values(subject).sort((a, b) => a - b);

let min = base;
let max = base;

for (let i = 0; i < M - K; i++) {
	min += private[i];
	max += private[private.length - 1 - i];
}

console.log(min, max);
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함