In this HackerEarth Modulo Strength problem solution Alice is the teacher of a class having N students, where each student is having some personality value, given in the form of an array A. Here Ai denotes the personality value of ith student, where 1 <= i <= N. Alice has a special integer K with her. Student i is a friend of Student j, if and only if (A[i] % K) = (A[j] % K). Each student's strength is equal to the number of friends he/she has. Alice needs to calculate the sum of the strength of all the students in the class. Help Alice for the same.

hackerEarth Modulo Strength problem solution


HackerEarth Modulo Strength problem solution.

#include<stdio.h>

int main()

{

int n,k;

long long int *arr,strength=0,*res;

scanf("%d",&n);

scanf("%d",&k);
 

arr = (long long int *) malloc( n * sizeof(long long int ));

res = (long long int *) malloc( k * sizeof( long long int ));

for(int i = 0 ; i<n ; i++)

{

scanf("%lld",&arr[i]);

}


for(int i = 0 ; i< n ; i++)

{

int loc = arr[i] % k;

res[loc] = res[loc] + 1;

}

 
for(int i = 0 ; i<k ; i++ )

{

if(res[i] == 0 || res[i] == 1)

continue;

strength = strength + ( res[i] * (res[i] - 1) ) ;

}


printf("%lld",strength);

  return 0;

}