比赛 |
20090916练习赛 |
评测结果 |
WWWWWWWAWW |
题目名称 |
任务安排 |
最终得分 |
10 |
用户昵称 |
donny |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-09-21 19:54:01 |
显示代码纯文本
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int n,i,j,k,l;
int s,t[5010],v[5010];
int f[5010],tt[5010],fc;
int main()
{
ifstream fin("batch.in");
ofstream fout("batch.out");
fin>>n>>s;
for (i=1;i<=n;i++)
{
fin>>t[i]>>v[i];
v[i]=v[i]+v[i-1];
t[i]=t[i]+t[i-1];
}
f[0]=0;
f[1]=(s+t[1])*v[1];
tt[1]=s+t[1];
for (i=2;i<=n;i++)
{
f[i]=f[i-1]+(tt[i-1]+s+t[i]-t[i-1])*(v[i]-v[i-1]);
tt[i]=tt[i-1]+s+t[i]-t[i-1];
for (j=i-1;j>=1;j--)
if ((f[j-1]+(tt[j-1]+s+t[i]-t[j-1])*(v[i]-v[j-1]))<f[i])
{
f[i]=f[j-1]+(tt[j-1]+s+t[i]-t[j-1])*(v[i]-v[j-1]);
tt[i]=tt[j-1]+s+t[i]-t[j-1];
}
}
fout<<f[n];
fin.close();
fout.close();
return 0;
}