JOI 2008 - Darts

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.5s Bộ nhớ: 64M Input: bàn phím Output: màn hình

Bạn chơi ném phi tiêu theo quy tắc sau. Bạn được ném tối đa bốn phi tiêu vào bảng đích; có thể ném ít hơn bốn hoặc không ném chiếc nào. Bảng có \(N\) vùng mang các điểm số \(P_1,\ldots,P_N\). Có thể ném nhiều phi tiêu vào cùng một vùng.

Gọi \(S\) là tổng điểm của những vùng bị phi tiêu cắm trúng. Nếu \(S \le M\), bạn nhận \(S\) điểm; nếu \(S > M\), bạn nhận \(0\) điểm.

Biết điểm số trên bảng và \(M\), hãy tính điểm cao nhất có thể đạt được.

Dữ liệu vào

Đọc từ đầu vào chuẩn.

Dòng đầu chứa \(N,M\), với \(1 \le N \le 1000\)\(1 \le M \le 200000000\).

Dòng thứ \(i+1\) chứa \(P_i\), với \(1 \le P_i \le 100000000\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa số điểm lớn nhất có thể đạt được.

Chấm điểm

Giới hạn thời gian: \(1.5\) giây mỗi bộ dữ liệu. Giới hạn bộ nhớ: \(64\) MB.

\(10\) bộ dữ liệu, mỗi bộ \(2\) điểm, tổng cộng \(20\) điểm. \(20\%\) số điểm ứng với \(N \le 100\); \(50\%\) số điểm ứng với \(N \le 300\). Hai bảo đảm này không được hiểu là hai nhóm rời nhau.

Ví dụ

Ví dụ 1

Input
4 50
3
14
15
9
Output
48
Giải thích

Trong ví dụ 1, ném ba phi tiêu vào vùng \(15\) điểm và một phi tiêu vào vùng \(3\) điểm được \(48\) điểm.

Ví dụ 2

Input
3 21
16
11
2
Output
20
Giải thích

Trong ví dụ 2, ném một phi tiêu vào vùng \(16\) điểm và hai phi tiêu vào vùng \(2\) điểm được \(20\) điểm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: