记录编号 460428 评测结果 AAAAAAAAAA
题目名称 摩托车游戏 最终得分 100
用户昵称 Gravatarhunter 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2017-10-17 06:59:39 内存使用 0.46 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 20055
#define INF 1000000000
using namespace std;
int S;
double T;
double f[maxn];
int main()
{
	freopen("carz.in","r",stdin);
	freopen("carz.out","w",stdout);
    scanf("%d%lf",&S,&T);
    T=T/60.0;
    f[0]=0.0;
    for(int i=1;i<=S;i++)
    if(i%10==0) f[i]=INF*1.00; 
    double tmp1=10.0/100.0,tmp2=20.0/90.0,tmp3=30.0/80.0,tmp4=40.0/75.0;
    for(int i=0;i<=S;i+=10)
    {
    	if(i) f[i]=min(f[i],(double)i*1.0/70.0);
    	if(!i){
            f[i+10]=min(f[i+10],f[i]+tmp1); 
            f[i+20]=min(f[i+20],f[i]+tmp2);
            f[i+30]=min(f[i+30],f[i]+tmp3);
            f[i+40]=min(f[i+40],f[i]+tmp4);
        }
        else{
            f[i+10]=min(f[i+10],f[i]+T+tmp1); 
            f[i+20]=min(f[i+20],f[i]+T+tmp2);
            f[i+30]=min(f[i+30],f[i]+T+tmp3);
            f[i+40]=min(f[i+40],f[i]+T+tmp4);	
        }
        //printf("%d %0.2lf\n",i,f[i]);
        //if(i==100)  while(1);
    } 
    f[S]=min(f[S],(double)S/70.0);
    printf("%0.2lf\n",f[S]);
    return 0;
}