ACM

fc3871098 2008-10-05 01:53:29
Description:
Tyr最喜欢吃罐装的菠菜,因为Tyr的力量来自于吃掉的菠菜。每次Tyr出去冒险的时候都会带上很多的菠菜罐头,当遇到危险的时候,他就会从背包里拿出菠菜罐头,以最快的速度吃掉它们,以最快的速度增加力量,从而克服困难。根据历史的统计数据,Tyr拿出一个菠菜罐头需要花费As的时间,吃掉一个菠菜罐头的时间是Bs。每当Tyr遇到一个怪物的时候,怪物会在Cs之后的时间里吃掉Tyr。但是,如果Tyr能够在Cs的时间里把力量从原来的D增加到E,他就能够打败怪物。现在又有一个怪物出现在Tyr面前了!Tyr能够打败怪物吗?

Input:
输入数据有多组。第一行是一个整数N(1<=N<=10),表示有N组测试数据。每组测试数据有2行:第一行:首先是一个整数M(1<=M<=10000),表示Tyr的背包里有M个菠菜罐头;其后M个整数表示每个菠菜罐头可以增加的力量。第二行:A B C D E
Output:
对于每组测试数据,如果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!
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_sharp 2008-10-05
  • 打赏
  • 举报
回复
UP
dengyi001 2008-10-05
  • 打赏
  • 举报
回复
#include "iostream"
using namespace std;

void Sort(int a[],int n)
{
int i,j,max,temp;
for(i = 0;i<n;i++)
{
for(j = i+1;j<n;j++)
if(a[j]>a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}

int fun(int arr[],int len,int A,int B,int C,int D,int E)
{
int m = E-D;
int n = A+B;
int i,j;
j = int(C/n);
int sum = 0;
for(i=0;i<j;i++)
sum+=arr[i];

if(sum>=m)
return 1;
return 0;
}
int main()
{
int T;
cin>>T;
int i,j;
int M;
int A,B,C,D,E;
for(i=0;i<T;i++)
{
cin>>M;
int *arr = new int[M];
for(j = 0;j<M;j++)
cin>>arr[j];
cin>>A>>B>>C>>D>>E;
Sort(arr,M);
if(fun(arr,M,A,B,C,D,E))
cout<<"Tyr is great!"<<endl;
else
cout<<"Tyr is not so great!"<<endl;
}
return 0;
}
haipeng31 2008-10-05
  • 打赏
  • 举报
回复
哪位大哥给出解决方案,我在接收数据那就出现问题进行不下去了

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧