CODECHEF - MAXSC


Problem Code : MAXSC

Problem      : Maximum Score

Platform     : Codechef

Language     : C 

Link         : CODECHEF

 //submitted  
 https://www.codechef.com/JAN18/problems/MAXSC  
 #include <stdio.h>  
 #include <stdlib.h>  
 void func()  
 {  
      int n;  
      scanf("%d",&n);  
      int **arr;  
      arr=(int **)malloc(sizeof(int*)*n);  
      int i,j;  
      for(i=0;i<n;i++)  
      {  
           arr[i]=(int*)malloc(sizeof(int)*n);  
      }  
      for(i=0;i<n;i++)  
      {  
           for(j=0;j<n;j++)  
           {  
                scanf("%d",&arr[i][j]);  
           }  
      }  
      /*for(i=0;i<n;i++)  
      {  
           for(j=0;j<n;j++)  
           {  
                printf("%d ",arr[i][j]);  
           }  
           printf("\n");  
      }*/  
      long long int sum=0;  
      int maxasofnow=1000000001;  
      int flag=1;  
      int localmax=-1;  
      for(i=n-1;i>=0;i--)  
      {  
           localmax=-1;  
           //printf("LOOP1:");  
           for(j=0;j<n;j++)  
           {  
                if(arr[i][j]<maxasofnow && arr[i][j]>localmax)  
                {  
                     localmax= arr[i][j];                           
                }  
           }  
           if(localmax ==-1)  
           {  
                flag=0;  
                break;  
           }  
           else  
           {  
           //     printf("%d-->%d\n",i,localmax);  
                sum =sum+ localmax;  
           }  
           maxasofnow=localmax;  
      }  
      if(flag)  
      {  
           printf("%lld\n",sum);  
      }  
      else  
      {  
           printf("-1\n");  
      }  
 }  
 int main()  
 {  
      int cases;  
      scanf("%d",&cases);  
      while(cases--)  
      {  
           func();  
      }  
      return 0;  
 }  

Comments

Popular

Traversal In A Binary Tree - Tree -3

Pre Order Traversal In Binary Tree

Tree data structure - 2