반응형
#INFO
난이도 : BRONZE2
문제 출처 : https://www.acmicpc.net/problem/2798
#SOLVE
브루트포스로 풀이했다. 삼중 for문을 돌려서 모든 경우의 수를 탐색했는데, 시간 복잡도는 총 O(N^3)으로 N의 최댓값이 50이기에 문제의 조건인 1초 내에 모두 탐색이 가능하다.
#include <iostream>
#include <algorithm>
using namespace std;
int N;
int M;
int arr[100];
int main(){
cin >> N >> M;
for (int i = 0 ; i < N ; i++) {
int temp = 0;
cin >> temp;
arr[i] = temp;
}
int res = 0;
int sum = 0;
for (int i = 0 ; i < N ; i++) {
for (int j = i + 1 ; j < N ; j++) {
for (int k = j + 1 ; k < N ; k++) {
sum = arr[i] + arr[j] + arr[k];
if (sum <= M) {
res = max(res,sum);
}
}
}
}
cout << res << endl;
return 0;
}
마지막 작성 : 2021-11-21
반응형
'Archive2 > ProblemSolving' 카테고리의 다른 글
[BOJ] 2941 "크로아티아 알파벳" 문제 풀이 & 소스 코드 with C/C++ (0) | 2021.12.27 |
---|---|
[BOJ] 1748 "수 이어쓰기" 문제 풀이 & 소스 코드 with C/C++ (0) | 2021.11.25 |
[BOJ] 11656 "접미사 배열" 문제 풀이 & 소스 코드 with C/C++ (0) | 2021.09.02 |
[BOJ] 10824 "네 수" 문제 풀이 & 소스 코드 with C/C++ (0) | 2021.09.02 |
[BOJ] 11655 "ROT13" 문제 풀이 & 소스 코드 with C/C++ (0) | 2021.08.30 |