#include using namespace std; int main() { int N; long long W; cin >> N >> W; vector A(N); for (int i = 0; i < N; i++) cin >> A[i]; map mp; long long sum = 0; int ri = 0; int ans = -1; for (int le = 0; le < N; le++) { while (ri < N && sum + A[ri] <= W && (mp.count(A[ri]) == 0 || mp[A[ri]] == 0)) { sum += A[ri]; mp[A[ri]] = 1; ri++; } ans = max(ans, ri - le); if (ri == le) ri++; else { sum -= A[le]; mp[A[le]]--; } } cout << ans << endl; }