이 문제에서 검사해야될 케이스의 최대값은 100C3 이다
제한시간 1초안에 3중 for문으로 충분히 구할 수 있는 양이다.
#include<stdio.h>
#define MAX 1000000
int main(void){
int n,m,chk=MAX,flag=0,sum,answer;
int arr[105];
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);
for(int i=0;i<n-2;i++){
for(int k=i+1;k<n-1;k++){
for(int j=k+1;j<n;j++){
sum=arr[i]+arr[k]+arr[j];
if(m-sum>=0&&m-sum<chk){
if(m-sum==0)
flag=1;
answer=sum;
chk=m-sum;
}
if(flag)
break;
}
if(flag)
break;
}
if(flag)
break;
}
printf("%d",answer);
return 0;
}
'프로그래밍 > 백준' 카테고리의 다른 글
[C언어/DP] 2293 : 동전1 (0) | 2022.01.31 |
---|---|
[C언어/knapsack(DP)] 12865 : 평범한 배낭 (0) | 2022.01.28 |
[C언어/브루트포스(DFS)] 15649 : N과 M(1) (0) | 2022.01.19 |
[C언어/브루트포스(DFS)] 1759 : 암호 만들기 (0) | 2022.01.18 |
[C언어/브루트포스] 2309 : 일곱 난쟁이 (0) | 2022.01.17 |