Не могу понять в чем ошибка, почему программа сириус не принимает данную задачку. Я пробовал менять сout << i + 1 и cout << i . Кажется, ошибка не в этом. Вот условие и мой код, помогите разобраться в чем ошибка
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n, m, k;
cin >> n >> m;
vector < vector<int> > A(n, vector<int>(m));
for ( int i = 0; i < A.size(); ++i ){
for ( int j = 0; j < A[i].size(); ++j){
cin >> A[i][j];
}
}
cin >> k;
bool flag = false;
int comp = 1;
for ( int i = 0; i < A.size(); ++i){
for ( int j = 1; j < A[i].size(); ++j){
if ( A[i][j] == 0 && A[i][j-1] == 0 ){
++comp;
}
if( comp == k){
flag = true;
}
if ( A[i][j] == 1){
comp = 1;
}
}
if ( flag ){
cout << i + 1;
break;
}
}
if (!flag){
cout << 0;
}
}


Я нашел как минимум 1 ситуацию при которой программа дает неправильный результат. Прикрепляю скрин.
Ты предполагаешь что в ряду будет как минимум одно свободное место, однако такого ограничения в условии дано не было.

#include <iostream>
#include <array>
using namespace std;
constexpr size_t length = 30;
using row_t = array<int, length>;
using hall_t = array<row_t, length>;
int find_vacancies(const row_t& row, const size_t m) {
auto n = 0;
for (size_t i = 0; i < m; ++i) {
if (row[i] != 0) n = 0;
else ++n;
}
return n;
}
int main() {
hall_t matrix{};
size_t n, m;
cin >> n >> m;
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) {
cin >> matrix[i][j];
}
}
int k;
cin >> k;
size_t i = 0;
while (i < n) {
auto x = find_vacancies(matrix[i], m);
++i;
if (x >= k) break;
}
if (i != n) cout << i;
else cout << '0';
}
#include <iostream>
#include <vector>
int main()
{
uint16_t n, m, k;
std::cin >> n >> m;
if (n > 30 || m > 30) { std::cout << "Wrong sizes\n"; return 1; }
std::vector<std::string> arr(n);
for (auto& i : arr) { std::cin >> i; if (i.size() > m) { std::cout << "Wrong sizes\n"; return 1; } }
std::cin >> k; n = 1;
std::string empty(k, '0');
for (auto& i : arr)
{
if (i.find(empty) != std::string::npos) { std::cout << n; return 0; }
n++;
}
std::cout << 0;
}
В общем ввод через пробел я не учел, сажусь, два!