Description:
Tyr最喜欢吃罐装的菠菜,因为Tyr的力量来自于吃掉的菠菜。每次Tyr出去冒险的时候都会带上很多的菠菜罐头,当遇到危险的时候,他就会从背包里拿出菠菜罐头,以最快的速度吃掉它们,以最快的速度增加力量,从而克服困难。根据历史的统计数据,Tyr拿出一个菠菜罐头需要花费A s的时间,吃掉一个菠菜罐头的时间是B s。每当Tyr遇到一个怪物的时候,怪物会在C s之后的时间里吃掉Tyr。但是,如果Tyr能够在C s的时间里把力量从原来的D增加到E,他就能够打败怪物。 现在又有一个怪物出现在Tyr面前了!Tyr能够打败怪物吗?Input:
输入数据有多组。第一行是一个整数N(1<=N<=10),表示有N组测试数据。每组测试数据有2行: 第一行:首先是一个整数M(1<=M<=10000),表示Tyr的背包里有M个菠菜罐头;其后M个整数表示每个菠菜罐头可以增加的力量。 第二行:A B C D EOutput:
对于每组测试数据,如果Tyr能够打败怪物,请输出“Tyr is great!”;否则请输出“Tyr is not so great!”。Sample Input:
2 4 1 1 1 1 1 1 6 12 15 4 1 1 1 1 1 1 3 12 15
Sample Output:
Tyr is great! Tyr is not so great!
source:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int num1;
cin>>num1;
while(num1>0)
{
int a,b,c,d,e,num2,i,j,temp,m;
cin>>num2;
int* bs=new int[num2];
for(i=0;i<num2;++i)
cin>>bs[i];
cin>>a>>b>>c>>d>>e;
for(i=1;i<num2;++i)
if(bs[i]>bs[i-1])
{
temp=bs[i];
bs[i]=bs[i-1];
for(j=i-1;bs[j-1]<temp&&j>0;--j)
bs[j]=bs[j-1];
bs[j]=temp;
}
for(m=a+b,i=0;m<=c&&i<num2&&d<e;m+=a+b,d+=bs[i],++i);
if(d>=e)
cout<<"Tyr is great!"<<endl;
else
cout<<"Tyr is not so great!"<<endl;
--num1;
}
return 0;
}