백준 알고리즘
[Silver V] 공포의 면담실 - 30088
성능 요약
메모리: 13420 KB, 시간: 48 ms
분류
그리디 알고리즘, 누적 합, 정렬
제출 일자
2023년 10월 13일 11:08:37
문제 설명
한국정보기술진흥원의 직원들은 6개월에 한 번 씩 전 직원이 사장님과 일대일 면담을 진행한다.
진흥원에는
모든 부서의 퇴근 시간의 합이 최소가 되는 값을 구하시오.
입력
첫 번째 줄에 부서의 수
두 번째 줄부터
출력
모든 부서의 퇴근하는 데 걸리는 시간의 합의 최솟값을 분 단위로 출력한다.
Code
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
use std::io::{BufReader,BufRead,BufWriter,stdin,Write,stdout};
fn main(){
let mut reader= BufReader::new(stdin().lock());
let mut writer= BufWriter::new(stdout().lock());
let mut input = String::new();
reader.read_line(&mut input).unwrap();
let mut v:Vec<usize>= Vec::new();
let n= input.trim().parse().unwrap();
for _ in 0..n{
input.clear();
reader.read_line(&mut input).unwrap();
let t: Vec<usize> = input
.split_whitespace()
.map(|s| s.parse().unwrap())
.collect();
v.push(t.iter().skip(1).sum())
}
v.sort();
let mut answer = 0;
for i in 0..n {
answer += (n - i) * v[i];
}
writeln!(writer,"{}",answer).unwrap();
writer.flush().unwrap();
}