Wynik tego przy danych n=8 k=3 i ogol= 0 1 1 0 1 0 1 0, zamiast 2
daje NIE
. A sam vector zapisał dane "0x61fdc0". Cokolwiek to znaczy.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n,k,dz,poczatek,koniec,score;
vector <int> ogol(n);
cin >> n >> k;
for(int i =0;i<n;i++){
cin >> ogol[i];}
poczatek = 1;
koniec = 1;
score = n + 1;
if(ogol[0]==0){
dz=1;}
else{
dz=0;}
while(koniec<n){
while(dz<k && poczatek<n){
poczatek ++;
if(ogol[poczatek]==0){
dz++;}}
if(dz==k){
score=min(score,poczatek-koniec+1);}
if(ogol[koniec]==0){
dz=dz-1;}
koniec++;}
if(score ==n+1){
cout << "NIE";}
else{
cout << score-k;
}
return 0;
}