132112025-01-07 08:34:14AblablablaVirágos rét (50 pont)cpp17Elfogadva 50/5023ms1980 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
    ll n, k;
    cin >> n >> k;

    vector<ll> alap(n);
    for(ll &x : alap){
        cin >> x;
    }

    vector<ll> pref(n + 1);
    for(ll i = 1; i <= n; i++){
        pref[i] = pref[i - 1] + alap[i - 1];
    }

    ll ans = 0;
    for(ll i = 0; i < n; i++){
        if(!alap[i]) continue;

        ll l = i, r = n - 1;
        ll ind = -1;
        while(l <= r){
            ll mid = (l + r) / 2;

            if(pref[mid + 1] - pref[i] >= k){
                ind = mid;
                r = mid - 1;
            } else{
                l = mid + 1;
            }
        }


        if(ind != -1){
            //cout << i << " : " << pref[n] - pref[ind] << "\n";
            ans += pref[n] - pref[ind];
        }
    }

    cout << ans << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/020ms1844 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms528 KiB
10Elfogadva2/21ms508 KiB
11Elfogadva3/31ms604 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva3/31ms316 KiB
14Elfogadva2/219ms1708 KiB
15Elfogadva2/220ms1676 KiB
16Elfogadva3/323ms1684 KiB
17Elfogadva3/319ms1664 KiB
18Elfogadva3/323ms1980 KiB
19Elfogadva3/318ms1960 KiB
20Elfogadva3/321ms1972 KiB
21Elfogadva3/323ms1964 KiB
22Elfogadva3/321ms1968 KiB