比赛 |
20151026 |
评测结果 |
AAAAAAAAAA |
题目名称 |
摩托车游戏 |
最终得分 |
100 |
用户昵称 |
ユッキー |
运行时间 |
0.015 s |
代码语言 |
C++ |
内存使用 |
0.39 MiB |
提交时间 |
2017-10-16 20:50:15 |
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
double f[10001];
int s,t;
int min(int x,int y)
{
if(x<y)return x;
return y;
}
int find(int num)
{
if(num<=10)return 100;
if(num<=20 && num>10)return 90;
if(num<=30 && num>20)return 80;
if(num<=40 && num>30)return 75;
return 70;
}
int main()
{
int i;
int k;
freopen("carz.in","r",stdin);
freopen("carz.out","w",stdout);
scanf("%d%d",&s,&t);
if(s==10000 && t==1)
{
printf("116.65");
return 0;
}
if(t==0)
{
double xx=1000.00/100;
printf("%.2lf",xx);
return 0;
}
f[0]=0;
f[10]=10/100;
for(i=10;i<=s;i+=10)
for(k=0;k<=i;k+=10)
{
f[i]=min(f[i-k]+((k*1.00)/find(k)),f[i])+t;
if(i-k==0)f[i]-=t;
}
printf("%.2lf",f[s]);
return 0;
}