습관처럼

D3 - 9229. 한빈이와 Spot Mart 본문

Algorithms/SWExpertAcademy

D3 - 9229. 한빈이와 Spot Mart

dev.wookii 2020. 2. 4. 11:18

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW8Wj7cqbY0DFAXN&categoryId=AW8Wj7cqbY0DFAXN&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

문제 설명


한빈이는 퇴근길에 스팟마트에 들러 과자 두 봉지를 사서 양 손에 하나씩 들고 가려고 한다. 

 

스팟마트에는 N개의 과자 봉지가 있으며, 각 과자 봉지는 ai그램의 무게를 가진다. 

 

배가 많이 고픈 한빈이는 최대한 양이 많은 (무게가 많이 나가는) 과자 봉지를 고르고 싶으나, 


과자 두 봉지의 무게가 M 그램을 초과하면 무거워서 과자를 들고 다닐 수 없다. 

 

한빈이가 들고 다닐 수 있는 과자들의 최대 무게 합을 출력하라. 한빈이는 과자를 “정확히” 두 봉지 사야 함에 유의하라.

 

 

 

 

문제 풀이 


완전 탐색으로 모든 경우의 수를 돌리면서 무개 범위에 만족되는 값 중에서 최댓값을 출력하고 없을 경우 default값인 -1을 출력한다.

 

 

 

코드


#include<iostream>
#include <algorithm>

using namespace std;
int testcase=0;

int main(){
    cin>>testcase;
    int n,weight;
    int a[1001];
    for(int i=1;i<=testcase;i++){
    	cin>>n>>weight;
        for(int t=0;t<n;t++) cin>>a[t];
        int ans=-1;
        for(int l=0;l<n-1;l++){
        	for(int m=l+1;m<n;m++){
                int temp=a[l]+a[m];
                if(temp<=weight) ans=max(ans,temp);
            	else continue;
            }
        }
        cout<<"#"<<i<<" "<<ans<<"\n";
       
	}
}

 

 

funny algorithms :) ~

'Algorithms > SWExpertAcademy' 카테고리의 다른 글

D3 - 8840. 아바바바  (0) 2020.02.04