Dolphins의 HelloWorld

[백준]Baekjoon11399(Greedy Algorithm) 본문

Algorithm/baekjoon문제풀이

[백준]Baekjoon11399(Greedy Algorithm)

돌핀's 2018. 8. 28. 12:55

문제링크 : https://www.acmicpc.net/problem/11399




생각보다 간단한 문제이다.


오름차순으로 주어진 수들을 정렬한 후 누적해서 더해주면 된다.


나같은 경우에는 


for(int i=0; i<N; i++) -> 이렇게 오름차순으로 정렬된 배열을 배열의 크기 N까지 반복문을


돌릴 때 i번째 배열값이 N-i번 곱해지므로 이렇게 곱해진 것을 더해나갔다.


#include <iostream>
#include <algorithm>

using namespace std;

int arr[1000];

int main()
{
	int N;
	scanf("%d", &N);
	for (int i = 0; i < N; i++) scanf("%d", &arr[i]);

	sort(arr, arr + N);
	int sum = 0;
	for (int i = 0; i < N; i++) {
		sum += arr[i] * (N - i);
	}
	printf("%d\n", sum);
}


Comments