Description
生活在上古世界亡灵岛的小白就快到亡灵岛上的期末考试了,可是小白却没有任何准备。于是小白只能靠自己的运气来决定自己的生死了,而亡灵岛的其中一个侍者XLAOSHI十分善良,他决定只要小白有存活的希望就让他活下来。
小白一共有n场考试,分散在n天中,即一天有且仅有一场,只有他当天的运气不小于考试的难度才能够通过考试,而小白只有通过所有的考试才能存活下来,生活如此艰难~~~
现在XLAOSHI运用自己的通天能力得知了小白在未来的m天中每天的运气值ai,他希望从中取出n天的运气来让小白通过考试,XLAOSHI取出来的n天的运气可以重新安排次序,来使小白的运气充分使用,但是不能改变某天的运气值的大小。例如有三天的运气按照时间先后依次是100,200,300,XLAOSHI可以将它调整为这三个数的任意排列顺序。
上帝视角的你看到了这一幕,于是你决定在梦中启示小白的命运。
Input
测试数据第一行为测试样例总组数T,
每组数据有三行,
第一行为正整数n,m(1<=n,m<=30000)。
第二行为n个整数,用空格隔开,即n天中每场考试的难度。
第三行为m个整数,用空格隔开,即小白m天的运气。
Output
对于每组数据,如果小白能够活下来,输出“You are pretty lucky!”;否则输出“Time up!”;
Sample Input
2
2 3
5 4
7 8 4
2 1
5 5
10
Sample Output
You are pretty lucky!
Time up!
Hint
题意
题解:
AC代码
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
int day[30005],lucky[30005];
bool cmp(int a,int b){
return a>b;
}
int main(){
int t;
scanf("%d",&t);
while (t--){
memset(day,0,sizeof(day));
memset(lucky,0,sizeof(lucky));
int n,m;
scanf("%d%d",&n,&m);
bool flag = false;
for (int i = 0; i < n; ++i){
scanf("%d",&day[i]);
}
for (int i = 0; i < m; ++i){
scanf("%d",&lucky[i]);
}
//sort默认从小到大排 竟然wa了一下 Σ(っ °Д °;)っ
sort(day,day+n,cmp);
sort(lucky,lucky+m,cmp);
for (int i = 0; i < n; ++i){
if (lucky[i]<day[i]) {
flag = true; break;
}
}
if (flag) printf("Time up!\n");
else printf("You are pretty lucky!\n");
}
return 0;
}