본문 바로가기

프로그래밍/백준

[C언어/브르투포스] 2798 : 블랙잭

 

이 문제에서 검사해야될 케이스의 최대값은 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;
	
}