Программа должна выяснить, меньше ли количество элементов в массиве, которые не равны 1, чем заданное целое число «k» (входные данные для программы).
Программа принимает ввод 't', то есть количество тестовых случаев, 'n' как количество элементов в массиве, 'k', как определено в постановке задачи.
t-> контрольный пример
Моя программа:
#include<iostream>
using namespace std;
int main(){
int t;
cin >> t;
while(t--){
int n,k;
cin >> n >> k;
int a[n];
for(int i=0;i<n && k>=0;i++){
cin >> a[i];
if(a[i]!=1)
k--;
}
if(k>=0)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
return 0;
}
МОЙ ввод:
6
2 2
1 2
5 6
1 2 2 2 2
5 3
2 2 10 1 1
5 3
3 5 6 4 1
5 3
3 5 6 4 1
5 3
3 5 4 4 1
ВЫХОД:
ДА
ДА
ДА
НЕТ
ДА
ДА
Проблема: в 4-м и 5-м тестовых случаях ВЫХОД РАЗЛИЧЕН.
Проблема, которую я могу понять, состоит в том, что только в 5-м тестовом случае цикл работает только для i = 0 для данного 5-го случая, затем он прерывается.