1. 3개를 뽑아야 하니 i는 0부터 n-2번까지, j는 i+1부터 n-1번까지, k는 j+1부터 n까지 뽑는 경우의 수를 반복한다.
2. 이때 각각 뽑은 수를 다 더했을 때 그 값이 딜러가 외친 숫자보다 작거나 같고 이전 값보다 크다면 값을 재설정 해준다.
#include <iostream>
using namespace std;
int main(void) {
int n, m;
cin >> n >> m;
int arr[101];
int result = 0;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1; j < n - 1; j++) {
for (int k = j + 1; k < n; k++) {
int cnt = arr[i] + arr[j] + arr[k];
if (cnt <= m && cnt > result)
result = cnt;
}
}
}
cout << result;
}
'PS > 백준' 카테고리의 다른 글
[C++] 백준 7568번: 덩치 (0) | 2020.12.23 |
---|---|
[C++] 백준 2231: 분해합 (0) | 2020.12.23 |
[C++] 백준 1316번: 그룹 단어 체커 (0) | 2020.12.08 |
[C++] 백준 2941번: 크로아티아 알파벳 (0) | 2020.12.08 |
[C++] 백준 2667번: 단지번호붙이기 (0) | 2020.11.29 |
댓글