습관처럼
D3 - 9229. 한빈이와 Spot Mart 본문
문제 설명
한빈이는 퇴근길에 스팟마트에 들러 과자 두 봉지를 사서 양 손에 하나씩 들고 가려고 한다.
스팟마트에는 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 |
---|