반응형
돈을 인출하는데 필요한 시간을 오름차순으로 정렬해서 더한다.
C++ 풀이
#include <bits/stdc++.h>
using namespace std;
vector<int> v;
int ary[1001];
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(NULL);
int N;
cin >> N;
for(int i = 0 ; i< N; i++){
int tmp;
cin >> tmp;
v.push_back(tmp);
}
sort(v.begin(), v.end());
ary[0] = 0;
for(int i = 1 ; i<= v.size(); i++)
{
ary[i] = v[i-1]+ary[i-1];
}
int sum = 0;
for(int i =1 ; i<= N; i++)
{
sum += ary[i];
}
cout << sum << '\n';
}
Python 풀이
import sys
input = sys.stdin.readline
N = int(input().rstrip())
time = list(map(int, input().rstrip().split()))
time.sort()
dp = []
dp.append(0)
for i,t in enumerate(time):
dp.append(dp[i]+t)
print(sum(dp))
반응형
'Algorithm > Problem Solve' 카테고리의 다른 글
[백준 11724번] 연결 요소의 개수 (C++ / Python) (0) | 2020.12.29 |
---|---|
[백준 11723번] 집합 (C++/ Python) (0) | 2020.12.29 |
[백준 11279번] 최대 힙 (0) | 2020.12.28 |
[백준 9095번] 1,2,3 더하기 (C++ / Python) (0) | 2020.12.28 |
[백준 7576번] 토마토 (C++/Python) (0) | 2020.12.26 |