RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R03201

Open the Treasure Chest

Silver V 실버 V
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

모험가 민호는 던전에서 잠겨 있는 보물 상자를 발견했습니다. 이 보물 상자를 열기 위해서는 정확한 비밀번호 조합을 입력해야 합니다.

상자 앞에는 N개의 숫자가 적힌 카드가 놓여 있고, 비밀번호에 대한 힌트로 정수 M이 주어집니다. 상자를 열기 위한 비밀번호의 규칙은 다음과 같습니다.

민호는 고른 3개 카드의 숫자를 모두 더했을 때, M을 넘지 않으면서 M과 가장 가까운 합을 만들어야 합니다.

N개의 카드 숫자가 주어졌을 때, M을 넘지 않으면서 3개의 카드를 골라 만들 수 있는 카드 합의 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 카드의 개수 N과 힌트 정수 M이 공백을 사이에 두고 주어진다.

둘째 줄에는 카드에 적혀 있는 수가 N개 주어지며, 각 숫자는 공백으로 구분된다.

출력

첫째 줄에 M을 넘지 않으면서 3개의 카드를 골라 만들 수 있는 합의 최댓값을 출력한다.

제한 사항
  • 3 ≤ N ≤ 100

  • 10 ≤ M ≤ 300,000

  • 카드에 적힌 수는 100,000을 넘지 않는 양의 정수이다.

  • 합이 M 이하가 되는 카드 3장의 조합은 반드시 존재한다.

제약
입력 형식

Line 1: \(N\) and \(M\) (\(3 \le N \le 100\), \(10 \le M \le 300000\)). Line 2: \(N\) positive integers, each \(\le 100000\).

출력 형식

Print the largest achievable three-card sum not exceeding \(M\).

예제 1
입력
6 31
4 7 9 11 13 15
출력
31
예제 2
입력
8 250
45 78 112 56 89 23 94 67
출력
250
문제 정보

riseoj 작성

출처 Online Judge > GoldOJ

평가 및 의견

Open the Treasure Chest

개요
출제자 난이도 Silver V 실버 V 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Open the Treasure Chest

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8