洛谷T142270 A.「EZEC-3」造房子

题目背景

pigstd 要去造房子了。

题目描述

pigstd 有 a 个 A 材料和 b 个 B 材料,造第 i 层楼需要 i 个 A 材料与 i 个 B 材料。
但是 pigstd 觉得房子不够高,于是他拿出了 c 块钱,每块钱都可以用来买 1 个 A 材料或者 111 个 B 材料。
现在 pigstd 想知道,他最多能建多少层楼的房子。

输入格式

第一行三个整数 a,b,c。

输出格式

一行一个整数,表示 pigstd 最多能建多少层楼的房子。

输入

1 2 3

输出

1 5 3

思路

那么我们循环每一层楼,如果当前这层楼的材料不够了,就买够材料,如果钱不够了,那就不算了

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	long long a,b,c,i;
	cin>>a>>b>>c;
	for (i=1;a-i>=0&&b-i>=0;i++)
	{
		a-=i;
		b-=i;
		if (a-i-1<0)
		{
			if (c>=i+1-a)
			{
				c-=i+1-a;
				a=i+1;
			}
		}
		if (b-i-1<0)
		{
			if (c>=i+1-b)
			{
				c-=i+1-b;
				b=i+1;
			}
		}
	}
	cout<<i-1<<endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值