7bfdc07640271a9321f14ec5dbf0b97534a002dbb7b14c3f48e98d352ebe75b9
// https://szkopul.edu.pl/problemset/problem/u7ZSOecKyX7NXVxrGSiyHAqd/site/?key=statement
#include <bits/stdc++.h>
using namespace std;
#define int long long
constexpr int sizik = 1000 * 1001, INF = (int)(1e9) * (int)(1e9);
#define ar std::array
#define pr std::pair
#define vec std::vector
typedef vec<vec<int>> _kra;
void solve() {
int n, k;
std::cin >> n >> k;
std::vector<int> v(n);
for (auto& a : v) {
std::cin >> a;
}
std::vector<int> pref(n + 1);
for (int i = 1; i <= n; i++) {
pref[i] = pref[i - 1] + v[i - 1];
}
int ans = INF, ans1 = INF;
std::set<int> s;
s.insert(0);
for (int i = 1; i <= n; i++) {
ans = std::min(ans, abs(pref[i] - k));
int local = pref[i] - k;
auto z1 = s.lower_bound(local);
if (z1 == s.end()) {
z1--;
}
auto z2 = s.upper_bound(local - 1);
if (z2 != s.begin()) {
z2--;
}
ans = std::min({ans, abs(local - *z1), abs(local - *z2)});
s.insert(pref[i]);
}
std::cout << ans << '\n';
}
int32_t main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
int t = 1;
// std::cin >> t;
for (; t > 0; t--) {
solve();
}
return 0;
}