2798 블랙잭
https://www.acmicpc.net/problem/2798
이번 문제는 간단히 수열 중 3개의 값의 합이 m을 넘지 않으면서 가장 m에 근사한 합을 찾아내는 문제이다.
간단히 브루트포싱하여 풀 수 있었다.
#include <stdio.h>
#include <algorithm>
int main()
{
int i,j,k,n,m,arr[101],s,t=-1;
scanf("%d %d", &n, &m);
for(i=0; i<n; i++) {
scanf("%d", &arr[i]);
}
std::sort(arr, arr+n);
for(i=0; i<n-2; i++) {
for(j=i+1; j<n-1; j++) {
for(k=j+1; k<n; k++) {
s=arr[i]+arr[j]+arr[k];
if(m==s) {
printf("%d",s);
return 0;
}
else if(m-s>0) {
if(s>t) t=s;
}
else k=n;
}
}
}
printf("%d", t);
}
'C, C++ > 백준' 카테고리의 다른 글
1149번 RGB거리 문제를 풀어보았다. (0) | 2019.06.24 |
---|---|
12091번 이브이 진화 시키기 문제를 풀어보았다. (0) | 2019.06.22 |
1032번 명령 프롬포트 문제를 풀어보았다. (0) | 2019.06.22 |
1026번 보물 문제를 풀어보았다. (0) | 2019.06.22 |
14624번 전북대학교 문제를 풀어보았다. (0) | 2019.06.21 |