| 记录编号 | 460428 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 612.摩托车游戏 | 最终得分 | 100 | 
    
        | 用户昵称 |  hunter | 是否通过 | 通过 | 
    
        | 代码语言 | 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;
}