๋ฌธ์
https://www.acmicpc.net/problem/2798
์ค๋ช
์ด๋ฌธ์ ๋ ๋ฑํ ๊ฑฐ์ฐฝํ ์๊ณ ๋ฆฌ์ฆ์ ์ธ ํ์๊ฐ ์์๋ค. ๊ทธ๋ฅ ์ผ์ค(?!)for๋ฌธ์ ์ด์ฉํด ๋ ธ๊ฐ๋ค๋ก 3๊ฐ์ ํจ์ ๊ฐ์ ๋ํ๊ณ max๋ณ์์ ์๋ ๊ฐ๋ณด๋ค ํฌ๊ณ ์ด ํฉ์ด 21์ ๋์ง ์๋์ง๋ง ๊ฒ์ฌํ๋๋ก ํ์๊ธฐ๋๋ฌธ์ ํฌ๊ฒ ์ด๋ ค์ด ๋ถ๋ถ์ ์์๋ค. ๋จ์ง ํ ์ด๋ผ๋ฉด ์ด์ฐจํผ ๋ธ๋ก ์ฆ ๋จ๊ณ์์๋ ์๊ด ์์ ๊ฒ ๊ฐ๊ธด ํ์ง๋ง ๋๋ฌด ๋ฌด์ํ๊ฒ ๋ฐ๋ณต๋ฌธ์ ์ค์ฒฉํ์ฌ ํ์๋ค๋ ๋๋์ด ๊ฐํ๊ฒ ๋ค๊ธดํ๋คโฆ
์ฝ๋
#include <stdio.h>
int main() {
int n,m; //์นด๋ ๊ฐฏ์ , ์ธ์น ์ซ์
int card[100]; //์นด๋ ํจ
scanf("%d %d",&n,&m); //์นด๋ ๊ฐฏ์, ์ธ์น ์ซ์ ์
๋ ฅ
for(int i=0; i<n; i++)
scanf("%d",&card[i]); //ํจ ์
๋ ฅ
int max = 0;
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
for(int k=j+1; k<n; k++)
{
int temp = card[i] + card[j] + card[k];
max = (temp>max) && (temp <= m) ? temp : max;
}
}
}
printf("%d",max);
return 0;
}