Saturday, 13 July 2019

equilibrium point in array

#include<stdio.h>
int main()
{  
int t,a[100000],n,i,j,sum=0,leftsum=0;
 scanf("%d",&t);  //test cases
 while(t--)
  {
    scanf("%d",&n);    //array size
     for(i=0;i<=n-1;++i)
         {
             scanf("%d",&a[i]); //array scan
         }
    for(i=0;i<=n-1;++i)
         {
             sum=sum+a[i];     //sum of all elements in array
         }
    for(i=0;i<=n-1;++i)
        {
         sum=sum-a[i];            //obtaining right sum
          if(leftsum==sum)      //comparing left and right
              {
                break;
              }

         leftsum=leftsum+a[i]; //updating leftsum at each  iteration               
           if(i!=n)printf("%d",i+1);// equilibrium point
           else  printf("-1\n");  //no equilibrium point
      }
return 0;
}

No comments:

Post a Comment