#1006. 安排工人(workerP.cpp)

安排工人(workerP.cpp)

题目描述

某工厂有nn个零件加工的师傅,每位师傅每天能够加工出不同数量的零件。

现有mm个零件要求一天加工完,请问该工厂最少需要派几个师傅来完成这次零件加工任务,如果安排所有的师傅都参与加工也不能在一天内完成任务,请输出“NO”。

特别注意,这个工厂的老板比较迷信,如果这个师傅当天可以加工出来的零件数量是偶数才可以安排,也就是说如果一个师傅一天能加工3个零件,因为3不是偶数,所以不会安排这位师傅。

输入

第一行有两个整数,用空格隔开;第一个整数代表要加工的总零件个数mm(m<=10610^6),第二个整数代表工厂的零件加工师傅的数量nnn<=100(n<=100)

第二行有n个整数,分别代表每个师傅每天能够加工出来的零件数量(每个师傅每天加工的零件数量<=10410^4)。

输出

工厂在1天时间内加工所有零件需要的师傅数量或者输出NO。

样例 #1

样例输入 #1

10 5
1 3 2 4 2

样例输出 #1

NO

样例 #2

样例输入 #2

6 5
1 3 2 4 2

样例输出 #2

2