열심히 코딩 하숭!
[알고리즘][수학] 11399번 ATM | baekjoon 문제 풀이 본문
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
계속 더해가면서 합을 구해야한다. (이걸 뭐라고 하더라? 등차수열은 아니고 아무튼 계속 더해나가야 함)
그러므로, 반복되는 값들이 최소가 되도록 해줘야 함.
-> 오름차순으로 정렬한 후, 더해주기.
오름차순은 sort 함수를 이용했다.
풀이
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N;
int P[1000];
cin >> N;
for (int i = 0; i < N; i++) {
cin >> P[i];
}
sort(P, P + N);
int result = 0;
for (int i = 0; i < N; i++) {
result += P[i] * (N - i);
}
cout << result;
}
'코딩테스트 > 알고리즘' 카테고리의 다른 글
[알고리즘][DP, 수학] 2839번 설탕 배달 | baekjoon 문제 풀이 (0) | 2023.04.02 |
---|---|
[알고리즘][수학] 1181번 단어 정렬 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][수학] 10250번 ACM 호텔 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][DP] 2225번 합분해 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][DP] 9465번 스티커 | baekjoon 문제 풀이 (0) | 2023.04.02 |