My issue
Runtime error
My code
#include <stdio.h>
long long factorial(int n) {
long long result = 1;
for (int i = 1; i <= n; ++i)
result *= i;
return result;
}
long long nC2(int n)
{
long long result = factorial(n) / (2 * factorial(n - 2));
return result;
}
int main()
{
int T;
scanf("%d",&T);
while (T--)
{
long long N, j=0, sum=0;
scanf("%lld",&N);
int *A = (int *)malloc(N * sizeof(int));
int B[N];
scanf("%d",&A[0]);
B[j++]= 0;
for (int i = 1; i < N; i++) {
scanf("%d",&A[i]);
if (A[i] < A[i-1])
B[j++] = i;
}
B[j++]= N;
for (int i = 1; i < j; i++) {
if ((B[i] - B[i-1])>0)
sum+= nC2((B[i] - B[i-1]) + 1);
}
printf("%lld\n",sum);
}
return 0;
}
Learning course: Dynamic programming
Problem Link: Count Subarrays Practice Problem in Dynamic programming - CodeChef