1803: SC晾衣服
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 281 Solved: 27
Submit Status Web Board
Description
高数课上,SC突然想起上个月在洗衣房洗的N件衣服还没有晾,决定中午回3号楼的时候顺便把衣服拿回去晾一晾。
SC的N件衣服都分别有一个潮湿度,潮湿度越大越不容易晾干,也就是说当某件衣服的潮湿度为0或负数的时候,这件衣服就晾干了。
SC将N件衣服全部挂在衣架上后,所有衣服每分钟降1点潮湿度,觉得这样太慢了。突然想起二十年前向WT学习的卡通·狗嘎击诺杰子(火遁·豪火球之术)
当SC对某件衣服使用火遁·豪火球之术时,这件衣服会每分钟掉K点潮湿度。
假设SC得到了WT的真传,查克拉是无限的,也就是可以一直释放火遁·豪火球之术,但只能对一件衣服使用。
问T分钟内(含T分钟)能否将N件衣服全部晾干。能的话输出"YES",否则输出“NO”。(没有双引号)
Input
第一行一个正整数Q(Q <= 1000),表示有Q组数据。
接下来每组数据占两行。
第一行有3个整数N, K,T。(1 <= N <= 1000, 1 <= K, T <= 10000)含义如题目描述
第二行有N个整数A[i]。(1 <= A[i] <= 10000)代表每件件衣服的潮湿度
Output
每组数据输出"YES"或"NO"(不含双引号),单独占一行
Sample Input
2 5 2 3 5 3 2 1 4 5 2 2 6 6 6 6 6
Sample Output
YES NO
HINT
对于第一组数据:
第一分钟对第1件衣服使用火遁·豪火球之术,那么第1分钟后5件衣服的潮湿度分别为:3,2,1,0,3
第二分钟对第1件衣服使用火遁·豪火球之术,那么第2分钟后5件衣服的潮湿度分别为:1,1,0,-1,2
第三分钟对第5件衣服使用火遁·豪火球之术,那么第3分钟后5件衣服的潮湿度分别为:0,0,-1,-2,0
所以3分钟正好可以将5件衣服全部晾干。
wa了好多次,错的地方……嗯……往事不堪回首。
#include<stdio.h>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
return a>b;
}
int a[11000];
int main()
{
int q,i,j,t,n,k;
scanf("%d",&q);
while(q--)
{
int flag=0;
scanf("%d%d%d",&n,&k,&t);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
a[i]-=t;
}
k-=1;
sort(a+1,a+n+1,cmp);
for(i=1,j=1;i<=n&&j<=t;i++)
{
while(a[i]>0&&j<=t)
{
a[i]-=k;
j++;
}
}
for(i=1;i<=n;i++)
{
if(a[i]>0)
{
flag=1;
break;
}
}
if(flag)
printf("NO\n");
else
printf("YES\n");
}
return 0;
}