UTMOPR - Editorial

public static String logicHere(String fileName){
BufferedReader br = null;
int opArr[];
int N=0;
int K=0;
String line2="";
String line3="";
int initialSum=0;
String retValue="";
try {
br = new BufferedReader(new FileReader(fileName));
br.readLine();
line2=br.readLine();
line3=br.readLine();
String[] tmpCh = line2.split(" “);
N=Integer.parseInt(tmpCh[0]);
K=Integer.parseInt(tmpCh[1]);
opArr = new int[N+K];
tmpCh = line3.split(” ");
for(int i=0;i<N;i++){
int tmp=Integer.parseInt(tmpCh[i]);
opArr[i]= tmp%10;
initialSum=(initialSum + tmp)%10;
}
for(int i=N;i<K;i++){
opArr[i]=(initialSum%10)+1;
initialSum=(initialSum+opArr[i])%10;
}
if(opArr[K]%2==0)
retValue=“even”;
else
retValue=“odd”;

	}
	catch(Exception ex){
		ex.printStackTrace();
	}
	return retValue;
}

Why everyone is trying to take an array and then evaluate the sum. There’s no need of it at all.
We just need to look for number of odd elements in the array. if number of odd elements is even then sum is always even.if number of odd elements is odd them sum is always odd.

enter code here
import java.util.*;

import java.math.*;
import java.util.regex.Pattern;
public class check {

// Driver code
public static void main(String[] args)
{

Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t>0){
int n=sc.nextInt();
int k=sc.nextInt();
int count=0;
for(int i=0;i<n;i++){
if(sc.nextInt()%2!=0){
count++;
}
}
if(count%2==0){
if(k==1)
System.out.println(“odd”);
else
System.out.println(“even”);
}else{

    System.out.println("even");

}
t–;
}

}

}

#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t–)
{
int n,k;
cin>>n>>k;
long long s=0,a[n+5];
for(int i=0;i<n;i++)
{
cin>>a[i];
s+=a[i];
}
if(k==1)
cout<<((s+1)%2?“odd”:“even”);
else if(k==2)
cout<<((2*s+1)%2?“odd”:“even”);
else
cout<<“even”;
cout<<endl;
}
return 0;
}

Plz can someone point out mistake in my code plz.Here is my code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t–)
{
long long int n,k,i,s=0;
cin>>n>>k;
long long int a[n];
for(i=0;i<n;i++){

	cin>>a[i];
	if(a[i]%2==1)
	s++;
	
}
if(s%2==1)
s=1;
else
s=0;
if(k==1)
{
	if(s==1)
	cout<<"odd"<<endl;
	else
	cout<<"even"<<endl;
	}
	else
	cout<<"even"<<endl;	
}
return 0;

}

#include<bits/stdc++.h>
using namespace std;

int main()
{
int t;
cin>>t;

while(t--)
{
    int n,k;
    cin>>n>>k;
    long int a[n],s=0;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        s+=a[i];
    }

    if(s%2==0&&k==1)
    {
        cout<<"odd\n";
    }
    else
        cout<<"even\n";
}
return 0;

}