比赛 |
普及组2016模拟练习4 |
评测结果 |
AAWAWAW |
题目名称 |
最小乘车费用 |
最终得分 |
57 |
用户昵称 |
(=@__@=) |
运行时间 |
0.009 s |
代码语言 |
C++ |
内存使用 |
0.18 MiB |
提交时间 |
2016-11-17 20:27:59 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
class noo{
public:
int x,gl;
double pj;
}a[15];
int n,s=0,ss=0;
void init()
{
for(int i=1;i<=10;i++)
{
cin>>a[i].x;
a[i].pj=a[i].x/double(i);
a[i].gl=int(i);
}
}
int hhh(noo a,noo b)
{
if(a.pj>=b.pj)
return 0;
if(a.pj<b.pj)
return 1;
}
int main()
{
freopen("busses.in","r",stdin);
freopen("busses.out","w",stdout);
init();
cin>>n;
sort(a+1,a+11,hhh);
int i=1;
while(n>=0)
{
if(n>=a[i].gl&&ss<=n)
{
s=s+a[i].x;
ss=ss+a[i].gl;
}
else
for(int i=2;i<=10;i++)
if(a[i].gl<=n)
{
s=s+a[i].x;
ss=ss+a[i].gl;
break;
}
n=n-a[i].gl;
}
cout<<s;
return 0;
}