CodeForces 604AUncowed Forces (模拟 oj 评分)

来源:互联网 发布:匡恩网络 知乎 编辑:程序博客网 时间:2024/06/18 13:58
A. Uncowed Forces
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Kevin Sun has just finished competing in Codeforces Round #334! The round was 120 minutes long and featured five problems with maximum point values of 500, 1000, 1500, 2000, and 2500, respectively. Despite the challenging tasks, Kevin was uncowed and bulldozed through all of them, distinguishing himself from the herd as the best cowmputer scientist in all of Bovinia. Kevin knows his submission time for each problem, the number of wrong submissions that he made on each problem, and his total numbers of successful and unsuccessful hacks. Because Codeforces scoring is complicated, Kevin wants you to write a program to compute his final score.

Codeforces scores are computed as follows: If the maximum point value of a problem is x, and Kevin submitted correctly at minute m but made w wrong submissions, then his score on that problem is . His total score is equal to the sum of his scores for each problem. In addition, Kevin's total score gets increased by 100 points for each successful hack, but gets decreased by 50 points for each unsuccessful hack.

All arithmetic operations are performed with absolute precision and no rounding. It is guaranteed that Kevin's final score is an integer.

Input

The first line of the input contains five space-separated integers m1m2m3m4m5, where mi (0 ≤ mi ≤ 119) is the time of Kevin's last submission for problem i. His last submission is always correct and gets accepted.

The second line contains five space-separated integers w1w2w3w4w5, where wi (0 ≤ wi ≤ 10) is Kevin's number of wrong submissions on problem i.

The last line contains two space-separated integers hs and hu (0 ≤ hs, hu ≤ 20), denoting the Kevin's numbers of successful and unsuccessful hacks, respectively.

Output

Print a single integer, the value of Kevin's final score.

Examples
input
20 40 60 80 1000 1 2 3 41 0
output
4900
input
119 119 119 119 1190 0 0 0 010 0
output
4930
Note

In the second sample, Kevin takes 119 minutes on all of the problems. Therefore, he gets  of the points on each problem. So his score from solving problems is . Adding in 10·100 = 1000points from hacks, his total score becomes 3930 + 1000 = 4930.



题意:

说实话,题目那么长,就我的英语水平没读懂,慢慢看的测试数据。

就是做 5 道题目,错误后有扣分,但是有比较取出两者的最大值作为评分标准。当然,还有部分奖励和惩罚,慢慢参考注释。


思路:

参考注释

按照题意慢慢来吧。


代码:

#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm>#define MYDD 66using namespace std;struct Q {double fen;//问题对应的分数double solve;//解决问题所耗费的时常double wrong;//错误的次数double get;//该问题的得分} dd[8];double MAX(double x,double y) {return x>y? x:y;}int main() {double m,w,hs,hu,ans;//ans记录最终得分for(int j=1; j<=5; j++) {scanf("%lf",&dd[j].solve);dd[j].fen=500.0*j;//初始化每一个题目的分数}for(int j=1; j<=5; j++)scanf("%lf",&dd[j].wrong);//错误的次数for(int j=1; j<=5; j++)//该问题的得分dd[j].get=MAX(0.3*dd[j].fen,(1-dd[j].solve/250)*dd[j].fen-50.0*dd[j].wrong);scanf("%lf%lf",&hs,&hu);//奖励和惩罚得分ans=hs*100.0-hu*50.0;for(int j=1; j<=5; j++)ans+=dd[j].get;printf("%.0lf\n",ans);return 0;}/**/




0 0
原创粉丝点击