XUJCOJ:caiming:2022级C++第21次作业 第10题
本题 由 Red 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。 严禁抄袭,侵权必究。代码仅当参考使用。 第10题 描述 N个学生去海岛游玩,只带了一个hrr牌充电宝,可以为所有学生的手机充电。第i个学生的手机具有百分之p[i]的电量,充电宝总共可以充百分之M的电量。问最多可以有几台手机的电量达到百分之百。 输入 只有一组案例。 第一行是两个整数N和M(0≤N≤100,0≤M≤10000),第二行包含N个整数p[i] (0≤p[i]≤100)表示第i台手机剩余电量的百分比。 输出 一个整数,表示最多可以充的手机台数。不要换行。 样例输入 3 10 100 99 90 样例输出 2 思路 很简单,只要将每台手机存到数组里然后再挨个减100,最后判断剩余电量M能够撑到第几台手机不小于0即可 代码[C语言] [Forlogin] #include<iostream> #include<algorithm> using namespace std; int main(){ int a[10000]={0},N,M,cnt=0; cin>>N; cin>>M; for(int i=0;i<N;i++){ cin>>a[i]; a[i]=100-a[i]; } sort(a,a+N); for(int i=0;i<N;i++){ M-=a[i]; if(M<0){ break; } cnt++; } printf("%d",cnt); }[/Forlogin]