# DIFFICULTY:

Simple

Solution:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {

``````ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
ll t;
cin>>t;
while(t--){
ll n,k;
cin>>k>>n;
ll arr[n];
for(int i=0;i<n;i++)cin>>arr[i];
ll product=0,p=1,l=0;
for(int i=0;i<n;i++){
p*=arr[i];
while(p>=k && l<=i){
product+=i-l;
p/=arr[l++];
}
}
p=(n-l)*(n-l+1)/2;
cout<<p+product<<"\n";
}
//code
return 0;
``````

}

Run Time: 0.3 sec

Thanks and Regards

Would you please explain this solution, that would be really helpful

Please explain the last step.

Thanks for sheer display of ignorance and irresponsibility.

#include<bits/stdc++.h>
#define fast ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define arin(x,n) for(int i=0;i<n;i++)cin>>x[i]
#define debug(x,n) for(int i=0;i<n;i++)cout<<x[i]<<" "
#define pb push_back
typedef long long int ll;

using namespace std;

void solve()
{
ll n,k;
cin>>k>>n;

``````ll arr[n];
arin(arr,n);

ll start = 0, end = 0,count = 0, sum = arr[0];
while (start < n && end < n) {
if (sum < k) {
end++;
if (end >= start)
count += end - start;
if (end < n)
sum *= arr[end];
}
else {
sum /= arr[start];
start++;
}
}

cout<<count<<"\n";
``````

}

int main()
{
fast;
ll t=1;
cin>>t;
while(tâ€“)
solve();
return 0;
}

why this code giving wrong solution can you explain?