티스토리 뷰

https://www.acmicpc.net/problem/11399

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

#include<iostream>
using namespace std;

//ATM
int main(void) {
	int N, sum = 0;
	cin >> N;

	int *time = new int[N]; // new[]연산자 사용한 동적 배열할당
	for (int i = 0; i < N; i++)
		cin >> time[i];

	//삽입정렬 - 오름차순 정렬일 때 시간의 합이 가장 짧다
	int temp;
	for (int i = 0; i < N - 1; i++) {
		int j = i;
		while (time[j] > time[j + 1]) {
			temp = time[j];
			time[j] = time[j + 1];
			time[j + 1] = temp;
			j--;
		}
	}

	//시간의 합 구하기
	for (int i = 0; i < N; i++) {
		for (int j = 0; j <= i; j++)
			sum += time[j];
	}

	//결과 출력 
	cout << sum << endl;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함