算法复习贪心算法poj2393

题意:一个工厂每周要提供不同数量单位的酸奶酪,每周生产单位酸奶酪的成本是不同的,你可以选择预先生产然后库存给以后的周,但是有额外的成本,告知一共要提供 N 周酸奶酪,库存每单位酸奶酪每周的代价是 S,告知每周的单位生产成本 C 和 每周需求 Y,问最小代价是多少。

 

思路:直接贪心

代码如下:

 

#include <stdio.h>
int c[10001], y[10001];
int main()
{
	int N, S,i;
	scanf("%d %d", &N, &S);
	for(i = 0; i < N; ++i)
		scanf("%d %d", &c[i], &y[i]);
	__int64 total = c[0] * y[0];
	for( i = 1; i < N; ++i)
	{
		if(c[i-1] + S > c[i])
			total += c[i] * y[i];
		else
			total += (c[i-1] + S) * y[i];
	}
	printf("%I64d\n", total);
	return 0;
}


 

 

你可能感兴趣的:(贪心算法)