총 시간이 최소일때의 시간이 되려면 앞에는 작은 수를, 뒤로 갈수록 큰수를 두어 오름차순 정렬시키면 된다
주어진 시간들을 배열이나 벡터에 넣고(배열이 더 빠르다) sort 로 오름차순 정렬 후
for 문으로 개수를 추가해 돌면서 누적 합을 구해주면 되는 문제였다
https://www.acmicpc.net/problem/11399
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
int num;
int sum = 0;
int ar[1004];
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> num;
ar[i] = num;
}
sort(ar, ar + n);
for (int i = n - 1; i >= 0; i--)
{
for (int j = 0; j < n - i; j++)
{
sum += ar[j];
}
}
cout << sum << "\n";
return 0;
}
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 15649/c++] N과 M (1) (0) | 2022.07.31 |
---|---|
[백준 1929/c++] 소수 구하기 (0) | 2022.07.30 |
[백준 1436/c++] 영화감독 숌 (0) | 2022.07.28 |
[백준 5555/c++] 반지 (0) | 2022.07.27 |
[백준 1269/c++] 대칭 차집합 (0) | 2022.07.25 |
댓글