比赛 20090916练习赛 评测结果 AAAAAAAAAA
题目名称 任务安排 最终得分 100
用户昵称 digital-T 运行时间 0.042 s
代码语言 C++ 内存使用 3.35 MiB
提交时间 2013-11-07 20:08:27
显示代码纯文本
#include<fstream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
ifstream fi("batch.in");
ofstream fo("batch.out");
const int INF=0x7FFFFFFF;
int N,S,SumT[5010],SumF[5010];
int f[5010],last[5010];
int main()
{
	fi>>N>>S;
	SumT[0]=0;
	SumF[0]=0;
	int T,F;
	for(int i=1;i<=N;i++)
	{
		fi>>T>>F;
		SumT[i]=SumT[i-1]+T;
		SumF[i]=SumF[i-1]+F;
	}
	f[N+1]=0;
	for(int i=N;i>=1;i--)
	{
		f[i]=INF;
		for(int j=N+1;j>i;j--)
			f[i]=min(f[i],f[j]+(S+SumT[j-1]-SumT[i-1])*(SumF[N]-SumF[i-1]));
	}
	fo<<f[1]<<endl;
	return 0;
}