B3848求助
  • 板块灌水区
  • 楼主MaxMa
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/25 17:33
  • 上次更新2024/2/25 18:02:12
查看原帖
B3848求助
1036978
MaxMa楼主2024/2/25 17:33

[GESP样题 三级] 逛商场

题目描述

小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。

小明的原则很简单,见到想买的物品,只要能买得起,就一定会买下来之后才会继续往前走;如果买不起就直接跳过。

一天下来,小明到底买了多少物品呢?

输入格式

输入共 33 行:

第一行是一个整数 NN,表示商场中共有 NN 种小明想买的物品(1≤N≤1001≤N≤100);

第二行共有 NN 个整数,分别表示小明先后见到想买的物品的价格;

第三行是一个整数 XX,表示开始时小明共有 XX 元零花钱。

输出格式

输出 11 行,包含一个整数,表示小明买到的物品数。

样例 #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;
}
2024/2/25 17:33
加载中...