冬天来了

问题描述:

某个小村庄里面有一个农民小明,他一开始一天可以生产L 个玉米,在接下来的每天里,他可以选择让自己的生产能力+1(当天不生产),或者生产L 个玉米,但是距离冬天到来只有N 天了,他必须在冬天到来之前储备尽可能多的玉米过冬,可是每天都会有地主来收玉米,如果不能交出足够的玉米,地主会没收小明的土地,于是小明请求你帮忙计算他最后最多可以留下多少玉米?如果在中途不能满足地主要求,就输出“Died”。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int day, production,i;
	scanf("%d%d",&day,&production);
	int *a  = new int [day];
	for (i = 0; i < day; i++)
		scanf("%d",&a[i]);
	int final_num = 0;
	for (i = 0; i < day; i++)
	{
		if (final_num + production< a[i])
		{
			final_num = -1;	
			break;		
		}
		else if(final_num < a[i])
				final_num += production - a[i];
			else if (production < day - i -1)
				{
					production++;
					final_num -= a[i];
				}
				else 
					final_num += production - a[i];
	}
	if (final_num > 0)
		printf("%d",final_num);
	else 
		printf("Died");
	delete []a;
	return 0;
}
        
/*
输入示例:
5 2
1 1 1 4 2

输出示例:
2
 
*/     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值