CodeForces 604A(浮点数)

这道题需要注意一个点,浮点数的误差问题

判断里的0.3*a[i]换成3*a[i]/10就过了

这个后面还要专门研究一下

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
using namespace std;

#define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define debug printf("!\n")
#define INF 10000
#define MAX(a,b) a>b?a:b
#define blank pf("\n")
#define LL long long

int m[10],sub[10];

int val[]={500,1000,1500,2000,2500};

int main()
{
    int i,j,r,t;
    for(i=0;i<5;i++)
        sf("%d",&m[i]);
    for(i=0;i<5;i++)
        sf("%d",&sub[i]);
    sf("%d%d",&r,&t);
    int res = 0;
    for(i=0;i<5;i++)
    {
        res+=MAX(0.3*val[i],(1-((double)m[i]/250))*val[i]-50*sub[i]);
    }
    res+=(100*r-50*t);

    pf("%d\n",res);

    return 0;
}

 

posted @ 2016-01-25 23:13  qlky  阅读(235)  评论(0编辑  收藏  举报