할껀하고놀자

[백준] 11399번 ATM 본문

[IT]/백준

[백준] 11399번 ATM

working_hard 2019. 6. 1. 14:20
728x90
#include<iostream>
#include<algorithm>

using namespace std;

int main() {
	int num;
	cin >> num;
	int * arr = new int[num];
	for (int i = 0; i < num; i++)
	{
		cin >> arr[i];
	}
	sort(arr, arr + num);

	int sum = 0;
	for (int i = 0; i < num; i++)
	{
		int tmp = 0;
		for (int j = 0; j < i; j++)
		{
			tmp += arr[j];
		}
		int a = tmp + arr[i];
		sum +=a;
	}
	cout << sum;
	return 0;
}

포인트 : 정렬해서 그리디 알고리즘을 이용하여 정렬한다. 또 이전까지 더했던 것을 더해준다.

 

다른 방식 

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> a(n);
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a.begin(), a.end());
	int sum = 0;
	int ans = 0;
	for (int i = 0; i < n; i++) {
		sum += a[i];
		ans += sum;
	}
	cout << ans << '\n';
	return 0;
}

포인트 : 더했던걸 누적시켜서 ans 에 더해준다.

'[IT] > 백준' 카테고리의 다른 글

[백준] 1541번 잃어버린 괄호  (0) 2019.06.01
[백준] 2217번 로프  (0) 2019.06.01
[백준] 11047번 동전 0  (0) 2019.05.31
[백준] 5585번 거스름돈  (0) 2019.05.31
[백준] 16234번 인구이동  (0) 2019.05.30
Comments