246832026-02-13 14:45:36MarcÚthasználati díj (75 pont)cpp17Hibás válasz 15/7518ms808 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,k;
    cin >> n >> k;
    vector<int>a(n+1);
    for(int i=1; i<=n; i++){
        cin >> a[i];
    }
    int kii=0;
    int l=1;
    int jelen=1;
    int ind=1;
    while(a[ind]==0){
        ind++;
    }
    l=ind;
    for(int r=ind+1; r<=n; r++ ){
        if(a[r]==1){
            jelen++;
            if(jelen>k){
                
                l++;
                while(a[l]==0){
                    l++;
                }
                jelen--;
                
                l++;
                while(a[l]==0){
                    l++;
                }
                jelen--;
            }
            kii++;
            if(jelen ==k && k!=2){
                l++;
                while(a[l]==0){
                    l++;
                }
                jelen--;
                kii++;
                //cout << l << " " <<r << " " << jelen << '\n';
            }
            //cout << l << " " <<r << " " << jelen << '\n';
            if(r==n){
                l++;
                while(l<r){
                    if(a[l]==1 && jelen <=k){
                        kii++;
                        jelen--;
                        l++; 
                    }
                    else l++;
                }
            }
            }  
    }
    cout << kii;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/75
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms508 KiB
3Hibás válasz0/018ms564 KiB
4Elfogadva5/51ms316 KiB
5Elfogadva5/51ms316 KiB
6Hibás válasz0/51ms316 KiB
7Elfogadva5/51ms500 KiB
8Hibás válasz0/51ms316 KiB
9Hibás válasz0/51ms316 KiB
10Hibás válasz0/51ms332 KiB
11Hibás válasz0/51ms316 KiB
12Hibás válasz0/51ms316 KiB
13Hibás válasz0/51ms396 KiB
14Hibás válasz0/518ms796 KiB
15Hibás válasz0/518ms564 KiB
16Hibás válasz0/518ms808 KiB
17Hibás válasz0/518ms564 KiB
18Hibás válasz0/517ms804 KiB