๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int>v;
int B,N,ans;
void backtracking(int sum,int index){
if(sum>B) return;
ans= max(ans,sum);
for(int i=index+1; i<N; i++){
if(sum+v[i]>B) continue;
backtracking(sum+v[i], i);
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>B;
cin>>N;
for(int i=0; i<N; i++){
int inp; cin>>inp;
v.push_back(inp);
}
sort(v.begin(),v.end(),greater<>());
for(int i=0; i<N; i++){
backtracking(v[i], i);
}
cout<<ans;
}
ํ์ด
์ฒ์์ ๋ ์ ๋ฌธ์ ์ธ๊ฐ ์ถ์์ง๋ง N์ด 21๋ฐ์ ๋์ง ์์์ ๋ฐฑํธ๋ํน์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > CodeUp' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1485 : 2์ฐจ์ ๋ฐฐ์ด ๋ฌํฝ์ด(2) (0) | 2022.03.14 |
---|---|
1484 : 2์ฐจ์ ๋ฐฐ์ด ๋ฌํฝ์ด(1) (0) | 2022.03.14 |
3701 : ํ์ค์นผ ์ผ๊ฐํ (0) | 2022.01.16 |
1510 : ํ์ ๋ง๋ฐฉ์ง (0) | 2022.01.16 |
4503 : ๋ฐ์ด๋ฌ์ค (0) | 2022.01.14 |
3705 : ์ฐ์๋ ๊ตฌ๊ฐ์ ์ต๋ํฉ (0) | 2022.01.14 |
๋๊ธ