Problem E-1015



概述:现在奶酪加工厂要生产奶酪,每个周需要生产等单位的奶酪需要花费的金钱不同,并且每个周的出货量不同,现在可以提前生产储存起来,但是储存需要每个周缴纳一定的金钱,求怎么样才能花费最少的金钱。

思路:只需要每个周产的奶酪加上储存费用是否比下个周产出的奶酪贵即可。

感想:这个题的思路是从其他人的博客上看到的,因为自己做出来以后没有办法得到输出,看到别人的思路以后发现是自己考虑多了,不需要考虑做一半或者是不用考虑提前做好许多,然后每个月供,这样本身就需要花费大量的金钱。另外提交时wa了几次,检查之后发现是我在定义输出的值是定义位数偏小。

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
	//ifstream cin("in.txt");
	int N, S;
	int week[10001], shipment[10001];
	while (cin >> N >> S)
	{
		for (int i = 0;i < N;i++)
			cin >> week[i] >> shipment[i];
		long long cost = 0;
		cost += week[0] * shipment[0];
		for (int i = 1;i < N;i++)
		{
			int save = 0;
			save = (week[i-1]+S)*shipment[i] ;
			if (save < (shipment[i])*week[i])
			{
				cost += save;
			}
			else cost += week[i] * shipment[i];

		}
		cout << cost << endl;
	}
	
	return 0;
}


你可能感兴趣的:(Problem E-1015)