[GESP样题 三级] 逛商场
题目描述
小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。
小明的原则很简单,见到想买的物品,只要能买得起,就一定会买下来之后才会继续往前走;如果买不起就直接跳过。
一天下来,小明到底买了多少物品呢?
输入格式
输入共 3 行:
第一行是一个整数 N,表示商场中共有 N 种小明想买的物品(1≤N≤100);
第二行共有 N 个整数,分别表示小明先后见到想买的物品的价格;
第三行是一个整数 X,表示开始时小明共有 X 元零花钱。
输出格式
输出 1 行,包含一个整数,表示小明买到的物品数。
样例 #1
样例输入 #1
6
7 5 9 10 7 4
30
样例输出 #1
4
#include<bits/stdc++.h>
using namespace std;
int a,ans,sum,t;
int main()
{
cin>>a;
int b[a+1];
for(int i=1;i<=a;i++)
cin>>b[i];
cin>>sum;
sort(b+1,b+a+1);
int i=1;
while(1)
{
if(t<=sum)
{
t+=b[i];
ans++;
}
else if(t>sum)
{
ans--;
break;
}
else break;
i++;
}
cout<<ans;
return 0;
}