比赛 20090916练习赛 评测结果 AAAAAAAAAA
题目名称 护卫队 最终得分 100
用户昵称 风华正茂 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-10-17 21:19:43
显示代码纯文本
#include<fstream>
#include<iomanip>
using namespace std;
int main()
{
	ifstream cin("convoy.in");
	ofstream cout("convoy.out");
	int a,b,c,w[1003],s[1003],i,j;
	double f[1003];
	cin>>a>>b>>c;
	for(i=1;i<=c;i++)
	{
		cin>>w[i]>>s[i];
		f[i]=10000000;
	}
	f[0]=0;
	double temp,lest;
	for(i=1;i<=c;i++)
	{
		temp=w[i];
		lest=s[i];
		f[i]=f[i-1]+b/lest;
		for(j=i-1;j>=0;j--)
		{
			if(temp>a) 
				break;
			if(f[i]>f[j]+(b*1.0)/lest)
				f[i]=f[j]+(b*1.0)/lest;
			temp+=w[j];
			if(lest>s[j]) 
				lest=s[j];
		}
	}
	cout<<setiosflags(ios::fixed)<<setprecision(1)<<f[c]*60<<endl;
	return 0;
}