02/10/2018, 14:11

PTIT135G spoj PTIT – Blackjack

Nguồn đề bài: http://www.spoj.com/PTIT/problems/PTIT135G/ 1. Đề bài PTIT135G spoj PTIT Cho một tập N quân bài, mỗi quân chứa một số nguyên dương. Bạn cần phải chọn ra ba quân bài sao cho tổng các số trên 3 quân bài gần với số M nhất và không vượt quá M. Input Dòng 1 chứa 2 số ...

Nguồn đề bài: http://www.spoj.com/PTIT/problems/PTIT135G/

1. Đề bài PTIT135G spoj PTIT

Cho một tập N quân bài, mỗi quân chứa một số nguyên dương. Bạn cần phải chọn ra ba quân bài sao cho tổng các số trên 3 quân bài gần với số M nhất và không vượt quá M.

Input

Dòng 1 chứa 2 số N và M. (N <= 100, M <= 500 000)

Dòng 2 chứa N số nguyên dương, mỗi số không quá 100 000.

Output

In ra tổng 3 quân gần M nhất và không vượt quá M.

Input luôn đảm bảo tồn tại đáp số.

Example

Input:
5 21
5 6 7 8 9

Output:
21

2. Code tham khảo PTIT135G spoj PTIT

Bài này khá đơn giản, làm bằng cách bình thường nhất là o(n^3), có thể cải tiến bằng cách dùng chặt nhị phân, độ phức tạp n^2 log2 n

Code tham khảo N^3

Nếu bạn cần code cải tiến vui lòng đề nghị, mình sẽ viết.

0