2023. 10. 15. 23:43, 알고리즘/BOJ
https://www.acmicpc.net/problem/2798
#include <bits/stdc++.h>
using namespace std;
int a[105];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin>>n>>m;
for(int i=0; i<n; i++){
cin>>a[i];
}
int ans=0;
for(int i=0; i<n;i++){
for(int j=i+1; j<n; j++){
for(int k=j+1; k<n; k++){
if(m>=a[i]+a[j]+a[k]&&(ans<a[i]+a[j]+a[k]))
ans=a[i]+a[j]+a[k];
}
}
}
cout<<ans;
}
삼중for문 형태로 카드 값들을 합쳤을때, m보다 작거나 같으면서, max value를 저장할 ans보다 크다면 ans를 갱신하는 방향으로 코드를 작성하였다.
'알고리즘 > BOJ' 카테고리의 다른 글
boj 2146 c++ 다리 만들기 (0) | 2023.10.19 |
---|---|
boj 2573 c++ 빙산 (0) | 2023.10.16 |
BOJ 2468 c++ 안전 영역 (0) | 2023.09.23 |
BOJ 2583 c++ 영역 구하기 (0) | 2023.09.22 |
BOJ 7569 c++ 토마토 - tuple에서 개별 원소 접근은 get<index>(tuple_name) 을 이용. 혹은 tie를 사용하자. (0) | 2023.09.21 |
Comments, Trackbacks