#include<stdio.h>
int main()
{
int i,n,a[10000],b[10000],c[10000],e[10000],max1=0,max2=0,m=0,k=0;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i],&b[i]);
if(a[i]>b[i])
{
c[m]=a[i]-b[i];
m++;
}
if(b[i]>a[i])
{
e[k]=b[i]-a[i];
k++;
}
}
max1=c[0];
max2=e[0];
for(i=0;i<n-1;i++)
{
if(c[i+1]>c[i])
{
max1=c[i+1];
}
if(e[i+1]>e[i])
{
max2=e[i+1];
}
}
if(max1>max2)
{
printf("%d %d",1,max1);
}
else if(max2>max1)
{
printf("%d %d",2,max2);
}
return 0;
}
@itsayushbansal You are incrementing the value of m and k so its not for sure that both get the same values. Plus your loop from 0 to n-1 is wrong because arrays c and e do not even contain as many elements, they have elements equal to m and k respectively. Change that. Plus use “\n” while printing the result.
Can you please post link to the problem?
1 Like
if max1 and max2 are same then there will not be any value to print…
and also same mistake in scaning for loop if a[i] and b[i] are same…
it is given in ques to avoid tie cases
1 Like