6.4. Đoạn con dài nhất có tổng bằng S


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 256M

Problem type

Cho mảng A gồm N số nguyên (có thể chứa số âm) và số nguyên S.

Hãy tìm độ dài lớn nhất của một đoạn con liên tiếp có tổng các phần tử bằng đúng S.

Nếu không tồn tại đoạn nào thỏa mãn, in ra 0.

Dữ liệu vào

Dòng đầu chứa hai số nguyên N và S.

Dòng thứ hai chứa N số nguyên của mảng.

Dữ liệu ra

In ra độ dài lớn nhất của đoạn con có tổng bằng S.

Giới hạn

1 ≤ N ≤ 2×105
|A[i]| ≤ 109
|S| ≤ 1015

Ví dụ

Input

8 6
2 -1 3 1 -2 2 3 -3

Output

6

Giải thích

Trong mảng được cho, ta tìm được một đoạn con liên tiếp bắt đầu từ vị trí thứ 2 (giá trị -1) đến vị trí thứ 7 (giá trị 3).
Đoạn con đó là: -1, 3, 1, -2, 2, 3.
Tổng của đoạn con này là: (-1) + 3 + 1 + (-2) + 2 + 3 = 6 (đúng bằng giá trị S).
Độ dài của đoạn con này là 6 phần tử.
Đây là đoạn con dài nhất thỏa mãn yêu cầu, nên kết quả in ra là 6.

Comments

There are no comments at the moment.