One day Bob is playing Zombie World video game. In Zombie World game each round will contain N zombie’s and each zombie’s energy is Zi (where 1<=i<=N). Bob will start the round with B energy. In order to move to the next level Bob need to kill all the N zombie's but Bob can select any one among N Zombie's. If energy of Bob (B) is less than Zombie energy (Zi) then Bob will die and lose the round else Bob will won, during the fighting with zombie, Bob will lose his energy by (Zi%2)+(Zi/2). At any point of game Bob will play optimally. Now your task is to find out whether Bob can reach to the next level or not.

Input Format:

First line will contains B and N, separated by space, where B is the energy of Bob and N is the number of Zombie. Next line will contain N spaced integers each will represent the energy of zombie.

Line 1

B N, where B is the energy of Bob and N is the number of Zombie
Line 2

Zi, where Zi is a list containing energy of zombies separated by space

Constraints:


1<=N<=10^4
1<=B<=10^9
1<=Zi<=10^5
Note:
for this problem all the divisions are integer divisions.
Output Format:
Print “YES” or “NO” depending upon whether Bob can reach the next level or not.

Line 1         
For Valid Input,print

YES

Or
                                                   
NO

For Invalid Input,print

Invalid Input



Sample Input and Output

SNo. Input Output
1           
35 3

5 9 6                 
YES                 
2
456 68

a
Invalid Input
3
4 4

1 3 2 4
NO

//program
import java.io.*;

public class Zombie_World
{

public static void main(String args[])
{
try
{
int NumberOfZombies;
int zEnergies[];
String energies,result[], en[],EnergiesOfZombie;
boolean flag=true;
double BobEnergy,res;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

energies=br.readLine();
result=energies.split(” “);
BobEnergy=Double.parseDouble(result[0]);
NumberOfZombies=Integer.parseInt(result[1]);

zEnergies=new int[NumberOfZombies];


EnergiesOfZombie=br.readLine();
en=EnergiesOfZombie.split(” “);

for(int i=0;i<NumberOfZombies;i++)
{
zEnergies[i]=Integer.parseInt(en[i]);
res=(zEnergies[i]%2)+(zEnergies[i]/2);
BobEnergy=BobEnergy-res;
if(BobEnergy<0)
{
flag=false;break;
}
}


if(flag)System.out.print(“YES”);
else System.out.print(“NO”);

}

catch(NumberFormatException e)
{
System.out.print(“Invalid Input”);
}

catch(Exception e)
{
System.out.print(“Error”);
}
}
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Enable Notifications OK No thanks