分析:则任意求任意两层不满衣服只差的最小值即为所要求的楼层。
dD(i+1,i)=Di+1-Di;
花间得dD=(b+i)*sumk[i] - (a-i-1)*(sumk[M]-sumk[i])-c;
#include<stdio.h>
#include<iostream>
using namespace std;
int T,M,a,b,ans;
int k[10010],sumk[10010];
__int64 dD,c;
int main()
{
int i;
scanf("%d",&T);
while(T--)
{
scanf("%d %d %d",&M,&a,&b);
scanf("%d",&k[1]);
c=sumk[1]=k[1];
for(i=2;i<=M;i++)
{
scanf("%d",&k[i]);
sumk[i]=sumk[i-1]+k[i];
c+=k[i]*i;
}
ans=1;
for(i=1;i<M;i++)
{
dD=(b+i)*sumk[i]-(a-i-1)*(sumk[M]-sumk[i])-c;
if(dD<0)
ans=i+1;
else
break;
}
printf("%d\n",ans);
}
return 0;
}