/* Name of the class has to be “Main” only if the class is public. */
class Codechef1
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
try {
Scanner input = new Scanner(System.in);
int test, i, j, max, index=0;
test = input.nextInt();
int player1[] = new int[test];
int player2[] = new int[test];
int lead[] = new int[test];
int winner[] = new int[test];
for(i=0; i<test; i++) {
player1[i] = input.nextInt();
player2[i] = input.nextInt();
}
for(i=0; i<test; i++) {
if(player1[i]>player2[i]) {
winner[i] = 1;
}
else {
winner[i] = 2;
}
}
for(i=0; i<test; i++) {
lead[i] = Math.abs(player1[i]-player2[i]);
}
max = 0;
for(i=0; i<test; i++) {
if(lead[i]>max) {
max = lead[i];
index = i;
}
}
/for(i=0; i<test; i++) {
System.out.print(lead[i] + " ");
}
System.out.println();
for(i=0; i<test; i++) {
System.out.print(winner[i] + " ");
}
System.out.println();
System.out.println(max);
System.out.println(index);/
System.out.println(winner[index] + " " + lead[index]);
}catch(Exception e) {
return;
}
}
}
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
try {
Scanner input = new Scanner(System.in);
int test, i, max=0, index=0;
test = input.nextInt();
int player1[] = new int[test];
int player2[] = new int[test];
int lead = 0;
int winner = 0;
int player1Total = 0;
int player2Total = 0;
for(i=0; i<test; i++) {
player1[i] = input.nextInt();
player2[i] = input.nextInt();
}
for (i = 0; i < test; i++) {
player1Total += player1[i];
player2Total += player2[i];
if (player1Total > player2Total) {
lead = player1Total - player2Total;
if (lead > max) {
max = lead;
winner = 1;
}
}
else {
lead = player2Total - player1Total;
if (lead > max) {
max = lead;
winner = 2;
}
}
}
System.out.println(winner + " " + max);
}catch(Exception e) {
return;
}
}
}
Okay, so you couldn’t understand the problem. So the lead after each round is the CUMULATIVE score till that round. You are only considering the score of THAT PARTICULAR ROUND.
Eg (n is 2)
(Format:
Round no, Player1 score, Player2 Score, Difference, Winner)
01 65 89 24 2
02 10 99 89 2
The answer should be 113
Your program is printing 89
Hints:
Hint 1
For both the players create a prefix sum array. If you don’t know, click here
Hint 2
For each round
if(max_score > abs(sum1[round] - sum2[round])
max_score = abs(sum1[round] - sum2[round]);
winner = winner[round];