Bài 1: Mật khẩu mạnh

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 6


Bài 2: Chia dãy

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 7


Bài 3: số tiềm năng

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 8


Bài 4: Chọn giày

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 9


Dãy con tổng S

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 10

Cho một dãy số ~A~ gồm ~N~ số nguyên dương ~A_1, A_2, \ldots, A_N~ và một số nguyên dương ~S~. Hãy tìm ~1~ dãy con có tổng ~S~ thuộc dãy ~A~.

Một dãy con tổng ~S~ thuộc dãy ~A~ có dạng là dãy ~A_{i_1}, A_{i_2}, A_{i_3}, \ldots, A_{i_{k - 1}}, A_{i_k}~ với

  • ~1 \leq i_1 < i_2 < \ldots < i_k \leq N~;
  • ~A_{i_1} + A_{i_2} + \ldots + A_{i_k} = S~.

Input

  • Dòng thứ nhất gồm hai số nguyên dương ~N~ và ~S~ (~N, S \leq 10^3~)
  • Dòng thứ hai gồm ~N~ số nguyên dương ~A_1, A_2, \ldots, A_N~ (~A_i \leq 10^3~).

Output

  • Nếu dãy con tổng ~S~ tổn tại, in ra các chỉ số trong ~A~ của phần tử thuộc dãy con đó. Nếu có nhiều dãy con thoả mãn thì in ra các chỉ số có thứ tự từ điển nhỏ nhất. Ngược lại, nếu không có dãy con thoả mãn thì in ra Does not exist.

Sample Test 1

Input:

5 7
1 3 5 9 3

Output:

1 2 5

Sample Test 2

Input:

4 17
1 3 5 7

Output:

Does not exist

DP2 - Knapsack 0-1

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 10

DP dạng 2 - Xếp ba lô 0-1 (Knapsack 0-1)


Một đêm nọ, một tên trộm nọ quyết định đột nhập vào một siêu thị nọ. Siêu thị có ~N~ đồ vật, vật thứ ~i~ có trọng lượng ~A_i~, giá trị ~B_i~. Tên trộm mang theo một cái túi chứa được trọng lượng tối đa ~W~. Hỏi tổng giá trị tối đa tên trộm có thể lấy được là bao nhiêu?

Input

  • Dòng thứ nhất gồm hai số nguyên dương ~N~ và ~W~ (~1 \leq N, W \leq 10^3~).
  • Trong ~N~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên dương ~A_i~ và ~B_i~ (~A_i, B_i \leq 10^3~).

Output

  • In ra tổng giá trị lớn nhất có thể được lấy đi.

Sample Test

Input:

5 15
12 4
2 2
1 1
1 2
4 10

Output:

15