NC214219. 黑大火与他的猫
描述
白小水是只可爱的白猫,它的铲屎官黑大火是个善解人意的汉子,为了他家的小公举而努力奋斗。
遇见白小水之前,黑大火只是一个懵懂的少年。只是后来偶然在路边对视了一眼,却从此成为了心中执念。
他觉得大概这辈子就栽在它手上了吧,它的一举一动总能拉扯着他的心弦。
所以,今天黑大火又要为白小水准备好吃的猫粮了,写题的你愿意帮助一下他们么?
黑大火现在拥有的金钱数为 N,有 M 种白小水喜欢的猫粮从左到右排列,已知每种猫粮的价格 ai,他的购买规则如下:
输出他最多能买多少种猫粮。
输入描述
第一行输入一个整数T,代表有T组测试数据。
每组数据第一行包括一个N和M(1 <= N <=100,1<= M <= 100)
第二行包括以空格间隔开的M个数a1,a2,a3…,aM(1<= ai<= 100)
输出描述
每组数据对应只有1行输出,输出最大购买数。
示例1
输入:
2 10 4 1 1 10 1 10 5 1 2 3 4 5
输出:
3 4
C++(clang++ 11.0.1) 解法, 执行用时: 4ms, 内存消耗: 408K, 提交时间: 2022-12-20 16:00:13
#include<iostream> using namespace std; int main(void) { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; int x,cnt=0; for(int i=0;i<m;i++) { cin>>x; if(n>=x) cnt++,n-=x; } cout<<cnt<<endl; } }
C++(g++ 7.5.0) 解法, 执行用时: 4ms, 内存消耗: 420K, 提交时间: 2022-11-13 17:10:33
#include<iostream> using namespace std; int main() { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; int x,cnt=0; for(int i=0;i<m;i++) { cin>>x; if(n>=x) cnt++,n-=x; } cout<<cnt<<endl; } }
C(gcc 7.5.0) 解法, 执行用时: 2ms, 内存消耗: 284K, 提交时间: 2023-01-16 10:37:24
#include<stdio.h> int main() {int n,k,m,a,b; scanf("%d",&n); while(n--) {scanf("%d %d",&k,&m);b=0; while(m--) {scanf("%d",&a); if(k>=a) { b++;k-=a;}}printf("%d\n",b);}}
Python3 解法, 执行用时: 28ms, 内存消耗: 4528K, 提交时间: 2021-12-10 12:17:02
for i in range(int(input())): n,m=map(int,input().split()) print(len([n:=n-j for j in map(int,input().split())if n>=j]))