Problem Code : MAXSC
Problem : Maximum Score
Platform : Codechef
Language : C
//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
Post a Comment