It doesnt work for this test case.
1
7 7 4 8 8 8
can anyone please help me out.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(tā)
{
int a[6],i,m=INT_MAX,j,z=0;
for(i=0;i<6;i++) cin >> a[i];
for(i=0;i<3;i++)
if(a[i]<m) {m=a[i]; j=i;}
swap(a[0],a[j]); swap(a[3],a[j+3]);
if(a[1]>a[2])
{swap(a[1],a[2]); swap(a[4],a[5]);}
for(i=1;i<3;i++)
{
if(a[i]==a[i-1] && a[i+3]!=a[i+2]) z=1;
else if(a[i+3]<=a[i+2]) z=1;
}
if(z==1) cout<<āNOT FAIRā<<endl;
else cout<<āFAIRā<<endl;
}
return 0;
}
Please format your code, or link to a solution - the forum software has mangled your code and it wonāt compile!
Consider the testcase:
1
2 11 11 38 73 73
#include<iostream>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
int A[3],C[3];
for(int i=0;i<3;i++)
{
cin>>A[i];
}
for(int i=0;i<3;i++)
{
cin>>C[i];
}
for(int i = 1,j,key1,key2;i<3;i++)
{
j = i-1;
key1 = A[i];
key2 = C[i];
while(j >= 0 && key1 < A[j])
{
A[j+1]=A[j];
C[j+1] = C[j];
j--;
}
A[j+1] = key1;
C[j+1] = key2;
}
bool deal = true;
for(int i = 1;i<3;i++)
{
if(A[i]==A[i-1])
{
if(C[i]!=C[i-1])
{
deal = false;
break;
}
}
if(C[i-1] > C[i])
{
deal = false;
break;
}
}
if(deal)
{
cout<<"FAIR"<<endl;
}
else
{
cout<<"NOT FAIR"<<endl;
}
}
return 0;
}
I have sorted the age list/array and arranged the corresponding cost list/array, and then checked the fairness.
where Iām doing mistake that Iām resulting into a WA.
Thanks for formatting your code
It fails on the following testcase:
1
12 4 6 29 24 29
I was doing such a silly mistakeā¦
thanks for the help buddy.
When you know what Integer.compare(int a, int b) doesā¦
static String isFair(int[] age, int[] amount) {
if((Integer.compare(age[0], age[1]) !=
Integer.compare(amount[0], amount[1]))
|| (Integer.compare(age[1], age[2])) !=
Integer.compare(amount[1], amount[2])
|| (Integer.compare(age[0], age[2])) !=
Integer.compare(amount[0], amount[2]))
return "NOT FAIR";
return "FAIR";
}
import java.util.*;
class EID2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t!=0)
{
int []a=new int[6];
int temp=0;
int d=0;
int i1=0,i2=0,i3=0,i4=0;
for(int i=0;i<6;i++)
{
a[i]=sc.nextInt();
}
int temp1[]=new int[3];
int temp2[]=new int[3];
for(int i=0;i<3;i++)
{
temp1[i]=a[i];
}
System.out.println();
int j=0;
for(int i=3;i<6;i++)
{
temp=a[i];
temp2[j]=temp;
j++;
}
if(temp1[0]==temp1[1] && temp1[1]==temp1[2])
{
if(temp2[0]!=temp2[1] && temp2[1]!=temp2[2])
{
d=2;
}
}
else
if(temp1[0]==temp1[1])
{
if(temp2[0]!=temp2[1])
{
d=2;
}
}
else
if(temp1[1]==temp1[2])
{
if(temp2[1]!=temp2[2])
{
d=2;
}
}
else
if(temp1[0]==temp1[2])
{
if(temp2[0]!=temp2[2])
{
d=2;
}
}
else
{
int smallest = temp1[0];
int biggest = temp1[0];
for(int i=1; i< temp1.length; i++)
{
if(temp1[i] > biggest)
{
biggest = temp1[i];
i1=i;
}
else if (temp1[i] < smallest)
{
smallest = temp1[i];
i2=i;
}
}
int small = temp2[0];
int big = temp2[0];
for(int i=1; i< temp2.length; i++)
{
if(temp2[i] > big)
{
big = temp2[i];
i3=i;
}
else if (temp2[i] < small)
{
small = temp2[i];
i4=i;
}
}
d=1;
}
if(d==2)
{
System.out.print("NOT FAIR");
}
else
if(d==0)
{
int smallest = temp1[0];
int biggest = temp1[0];
for(int i=1; i< temp1.length; i++)
{
if(temp1[i] > biggest)
{
biggest = temp1[i];
i1=i;
}
else if (temp1[i] < smallest)
{
smallest = temp1[i];
i2=i;
}
}
int small = temp2[0];
int big = temp2[0];
for(int i=1; i< temp2.length; i++)
{
if(temp2[i] > big)
{
big = temp2[i];
i3=i;
}
else if (temp2[i] < small)
{
small = temp2[i];
i4=i;
}
}
if(i1==i3 && i2==i4) {
System.out.print("FAIR");
}
else {
System.out.print("NOT FAIR");
}
}
else
if(d==1) {
if(i1==i3 && i2==i4) {
System.out.print("FAIR");
}
else {
System.out.print("NOT FAIR");
}
}
// System.out.println();
t--;
}
}
}
please help me, why it is giving me wrong answer. Atleast tell me, which test cases is not satisfy
- Your solution always prints an empty line before all the other outputs
- Consider the testcase:
1
12 4 6 29 24 29
thanks buddyā¦
import java.util.*;
class EID2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t!=0)
{
int []a=new int[6];
int temp=0;
int d=0;
int i1=0,i2=0,i3=0,i4=0;
for(int i=0;i<6;i++)
{
a[i]=sc.nextInt();
}
int temp1[]=new int[3];
int temp2[]=new int[3];
for(int i=0;i<3;i++)
{
temp1[i]=a[i];
}
int j=0;
for(int i=3;i<6;i++)
{
temp=a[i];
temp2[j]=temp;
j++;
}
for(int i=0;i<2;i++)
{
if(temp1[i]==temp1[i+1])
{
if(temp2[i]!=temp2[i+1])
{
d=2;
}
}
}
for(int i=0;i<2;i++)
{
if(temp2[i]==temp2[i+1])
{
if(temp1[i]!=temp1[i+1])
{
d=2;
}
}
}
if(temp1[0]==temp1[2])
{
if(temp2[0]!=temp2[2])
{
d=2;
}
}
else
if(temp2[0]==temp2[2])
{
if(temp1[0]!=temp1[2])
{
d=2;
}
}
else
{
int smallest = temp1[0];
int biggest = temp1[0];
for(int i=1; i< temp1.length; i++)
{
if(temp1[i] > biggest)
{
biggest = temp1[i];
i1=i;
}
else if (temp1[i] < smallest)
{
smallest = temp1[i];
i2=i;
}
}
int small = temp2[0];
int big = temp2[0];
for(int i=1; i< temp2.length; i++)
{
if(temp2[i] > big)
{
big = temp2[i];
i3=i;
}
else if (temp2[i] < small)
{
small = temp2[i];
i4=i;
}
}
d=1;
}
if(d==2)
{
System.out.print("NOT FAIR");
}
else
if(d==0)
{
int smallest = temp1[0];
int biggest = temp1[0];
for(int i=1; i< temp1.length; i++)
{
if(temp1[i] > biggest)
{
biggest = temp1[i];
i1=i;
}
else if (temp1[i] < smallest)
{
smallest = temp1[i];
i2=i;
}
}
int small = temp2[0];
int big = temp2[0];
for(int i=1; i< temp2.length; i++)
{
if(temp2[i] > big)
{
big = temp2[i];
i3=i;
}
else if (temp2[i] < small)
{
small = temp2[i];
i4=i;
}
}
if(i1==i3 && i2==i4) {
System.out.print("FAIR");
}
else {
System.out.print("NOT FAIR");
}
}
else
if(d==1) {
if(i1==i3 && i2==i4) {
System.out.print("FAIR");
}
else {
System.out.print("NOT FAIR");
}
}
System.out.println();
t--;
}
}
}
still not getting after improvementā¦ can you help?
1
17 17 8 63 17 11
Love you Man ā¦thanks for helping meā¦ I never thought this could finally be submit by me.