比赛 20090916练习赛 评测结果 AAAAAAAAAA
题目名称 护卫队 最终得分 100
用户昵称 donny 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-09-21 19:26:47
显示代码纯文本
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

int n,i,j,k,l;
double zhong,len,w[1010],v[1010];
double f[1010],fc;

int main()
{
	ifstream fin("convoy.in");
	ofstream fout("convoy.out");
	
	fin>>zhong>>len>>n;
	
	for (i=1;i<=n;i++)
	{
		fin>>w[i]>>v[i];
		w[i]=w[i]+w[i-1];
	}
	
	f[0]=0;
	f[1]=(len/v[1])*60;
	
	for (i=2;i<=n;i++)
	{
		fc=v[i];
		f[i]=f[i-1]+(len/fc)*60;
		for (j=i-1;j>=1;j--)
			if ((w[i]-w[j-1])<=zhong)
			{
				if (v[j]<fc)
					fc=v[j];
				if ((f[j-1]+(len/fc)*60)<f[i])
					f[i]=f[j-1]+(len/fc)*60;
			}
	}
	
	fout<<setiosflags(ios::fixed)<<setprecision(1)<<f[n];
	
	fin.close();
	fout.close();
	
	return 0;
}