Algorithm

[백준] 알고리즘 2309번 - 일곱 난쟁이

낭강 2020. 11. 20. 04:46

#include<bits/stdc++.h>
using namespace std;
int arr[10];
int main()
{
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	for (int i = 1; i <= 9; i++) {
		cin >> arr[i];
	}
	sort(arr+1,arr+10);
	int sum = 0, twsum = 0,a,b;
	for (int i = 1; i <= 9; i++) sum += arr[i];
	for (int i = 1; i <=8; i++) {
		for (int j = i + 1; j <= 9; j++) {
			twsum = arr[i] + arr[j];
			if (sum - twsum == 100) {
				a = i, b = j;
			}
		}
	}
	for (int i = 1; i <= 9; i++) {
		if (i == a || i == b) continue;
		else cout << arr[i]<<"\n";
	}
}

 

9c7 - 9난쟁이 중 7명을 선택해야 한다.

즉 9c2 9명의 키를 더한 상태에서 2명의 키를 빼서 100이 되는 수열을 오름차순으로 출력하면된다.