Пожалуйста, помогите мне с этим кодом и расскажите мне о проблеме.
Микро приобрести массив a из N целых чисел. Поиграв в нее некоторое время, он устал от нее и решил обновить значение ее элемента. За одну секунду он может увеличить значение каждого элемента массива на 1. Он хочет, чтобы значение каждого элемента массива стало больше или равно К. Пожалуйста, помогите микро узнать минимальное количество времени, которое ему потребуется для этого.
Ввод:
Первая строка состоит из одного целого числа t, обозначающего количество тестовых случаев.
Первая строка каждого теста состоит из двух целых чисел, разделенных пробелами, обозначающих N и K.
Вторая строка каждого теста состоит из N целых чисел, разделенных пробелами, обозначающих массив A.
Выход:
Для каждого тестового случая выведите минимальное время, за которое все элементы массива станут больше или равны К. Выведите новую строку после каждого тестового случая.
Что я уже пробовал:
#include <iostream> using namespace std; int add(int a[], int n, int k) { int count=0; int p; for(int i=0; i<n; i++) { a[i]=a[i]+1; count++; } p=min(a, n); if(p>=k) { return count; } else { add(a, n, k); } } int min(int a[], int n) { int m=1000; for(int i=0;i<n; i++) { if(a[i]<m) { m=a[i]; } } return m; } int main() { int t; cin>>t; while(t--){ int n,k; int ans; cin>>n; cin>>k; int a[n]; for(int i=0; i<n; i++) { cin>>a[i]; } ans= add(a, n, k); cout<<ans<<"\n"; } return 0; }
KarstenK
добавьте некоторые выходные данные пользователя и отладочные сообщения. Чем использовать отладчик.