2 条题解
-
0
我又来写题解辣!~~~~~(原因是立志想成为这里题解写得最多的成员)(嬉皮笑脸)
好,现在我们把目光移回题目上。根据题目要求,我们可以得到一下几条信息:
1.药房的药的最初始的值一定。
2.如果病人要的药量>剩余的量,则拒绝给药,反之,则给药。
还有一点,它这个“给药”应该是有先后顺序的……
但是,回归正题,题目中要我们求的是有多少入没有拿上药,那我们可以反其道而行之,求出有多少只病患拿到了药,最后再用总人数-拿到药的人数。
所以,主包选择一边循环输入一边判断。
也就是说:先建立一个数组a,然后输入一个值a[i],判断a[i]是不是比药的剩余量大(信息1),如果是,就给药(药量-=a[i]),并且拿到药的人数++。
最后,将总人数减去拿到药的人的人数,得出最终结果。
接下来就是AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int yao,n,a[105],o=0; cin>>yao>>n; for(int i=1; i<=n; i++){ cin>>a[i]; if(yao>=a[i]){ yao-=a[i]; o++; } else continue; } cout<<n-o; return 0;
}
PS:题解仅供参考啊喂!!!敢乱抄半夜顺你家打火机QWQ
信息
- ID
- 383
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 12
- 已通过
- 5
- 上传者