1803: SC晾衣服
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 301 Solved: 30
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
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 1010
using namespace std;
int a[N];
int b[N];
int main()
{
int T,n,k,t,i;
int sum,num;
scanf("%d",&T);
while(T--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%d%d%d",&n,&k,&t);
k--;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
a[i]-=t;
}
int kk=0,flag=0;
for(i=0;i<n;i++)
{
if(a[i]>0)
{
b[kk++]=a[i];
flag=1;
}
}
if(k==0)//开始这块没有特判,RE了两次。。
{
if(flag)
printf("NO\n");
else
printf("YES\n");
}
else
{
int tt;
sum=0;
for(i=0;i<kk;i++)
{
if(b[i]%k==0)
tt=b[i]/k;
else
tt=b[i]/k+1;
sum+=tt;
}
if(sum<=t)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}