一、题目链接
http://noi.openjudge.cn/ch0105/23/
二、解题思路
◎ 循环输入每个病人的取药数量:
▲ 如果药品总量小于当前病人的取药数量,说明当前病人无法取药,未取上药品的人数加1;
▲ 否则当前病人可以取药,药品总量需要减去当前病人的取药数量;
◎ 循环结束后,即可求出未取上药品的人数。
三、实施步骤
◎ 定义并输入两个int类型的整数m、n,分别代表药品总量、取药人数;
◎ 定义两个int类型的整数x、ans=0,分别代表每个病人的取药数量、未取上药品的人数;
◎ 通过标记i代表病人编号,i从1开始,到n为止,递增步长为1,循环处理如下:
▲ 输入当前病人的取药数量x;
▲ if m<x:令ans++;
else:令m=m-x;
◎ 输出ans。
四、Java程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m = input.nextInt();
int n = input.nextInt();
int x;
int ans = 0;
for (int i = 1; i <= n; i++) {
x = input.nextInt();
if (m < x) {
ans++;
}
else {
m = m - x;
}
}
System.out.print(ans);
}
}