https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
합들을 저장해주고
내림차순으로 정렬후
첫번째 값을 출력해줬다.
#include <iostream>
#include <algorithm>
#include <vector>
#include <array>
#include <cmath>
#include <functional>
#include <string>
using namespace std;
void fastIO();
int main()
{
int N, M;
vector<int> vec;
vector<int> inVec;
int num;
int sum;
cin >> N >> M;
for (auto i = 0; i < N; i++)
{
cin >> num;
inVec.push_back(num);
}
for (auto i = 0; i < N; i++)
{
for (auto j = i + 1; j < N; j++)
{
for (auto k = j + 1; k < N; k++)
{
sum = inVec[i] + inVec[j] + inVec[k];
if (sum <= M)
vec.push_back(sum);
}
}
}
sort(vec.begin(), vec.end(), greater<>());
cout << vec.front();
}
void fastIO()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
'STUDY > Baekjoon' 카테고리의 다른 글
[백준] 2581 소수 c++ (0) | 2023.03.27 |
---|---|
[백준] 2587 c++ 대표값2 (0) | 2023.03.14 |
[백준] 2869 c++ 달팽이는 올라가고 싶다 (0) | 2022.08.25 |
[백준] 1316 c++ 그룹 단어 체커 (0) | 2022.08.25 |
[백준] 25304 c++ 영수증 (0) | 2022.08.24 |