Divisible subarrayss


how to solve the run error

Plz try to use the size of array as
long long int n;
long long int ar[10000000];
instead of wht u have used, and then try to submit your code.

no its still not working I tried to put long long everywhere before int but still its showing run error

Your code is producing wrong answer upon changing to long long int values, Your approach needs slight modifications,
long long int sum=0;
long long int prefixsum[10000000]={0};
prefixsum[0]=1;
for(int i=0;i<n;i++)
{
sum=sum+ar[i];
sum=sum%n;
sum=(sum+n)%n;
prefixsum[sum]++;
}
long long int ans=0;
for(int i=0;i<n;i++)
{
long long int no=prefixsum[i];
ans=ans+(no*(no-1))/2;
}