257702026-03-01 20:47:00horvayzsomborVirágos rét (50 pont)cpp17Accepted 50/5010ms880 KiB
#include <iostream>
#include <vector>

using namespace std;

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

    vector<char> v(n);

    for(int i = 0; i < n; i++)
    {
        cin >> v[i];
    }

    vector<int> s(n + 1);

    for(int i = n - 1; i >= 0; i--)
    {
        s[i] = s[i + 1];   
        if(v[i] == '1') s[i]++; 
    }

    long long ans = 0;

    int cnt = 0;
    int j = 0;

    for(int i = 0; i < n; i++)
    {
        if(v[i] == '1')
        {
            while(j < n && cnt != k)
            {
                if(v[j] == '1') cnt++;
                j++;
            }

            if(cnt == k) ans += s[j - 1];

            cnt--;
        }
    }

    cout << ans;

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms316 KiB
2Accepted0/01ms500 KiB
3Accepted0/09ms820 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted3/31ms316 KiB
12Accepted2/21ms508 KiB
13Accepted3/31ms316 KiB
14Accepted2/28ms868 KiB
15Accepted2/28ms748 KiB
16Accepted3/310ms880 KiB
17Accepted3/39ms820 KiB
18Accepted3/310ms756 KiB
19Accepted3/38ms756 KiB
20Accepted3/38ms820 KiB
21Accepted3/310ms716 KiB
22Accepted3/39ms748 KiB