목차

     

     


     

     

    [백준 2798번 C/C++] 블랙잭

     

    https://www.acmicpc.net/problem/2798

     

    2798번: 블랙잭

    첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

    www.acmicpc.net

     


     

     

     

    해결전략

     

    삼중 for문으로 체크한다.

     


     

    코드

     

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <vector>
    using namespace std;
    
    int main() {
        int n, m, i, j, k, sum, max=0;
        scanf("%d %d", &n, &m);
        vector<int> v;
    
    	for(int i=0; i<n; i++){
            int input;
            scanf("%d", &input);
            v.push_back(input);
        }
    
        for(i=0; i<n-2; i++){        
    	    for(j=i+1; j<n-1; j++){
    		    for(k=j+1; k<n; k++)
    		    {
                    sum = 0;
                    sum = v[i] + v[j] + v[k];
    		        if(sum<=m)
    		        {
    		            if (sum > max) max = sum;
    		        } 
    		    }
    	    }
        }
    
        printf("%d\n", max);
    
        return 0;
    }