#include<stdio.h>
#include<string.h>
#include<queue>
#include<deque>
using namespace std;
#define ll __int64
ll a[100005];
int main()
{
int t;
int kase=0;
scanf("%d",&t);
while(t--)
{
int n;
ll kk;
scanf("%d%I64d",&n,&kk);
ll sum=0;
deque<ll >s;
for(int i=0;i<n;i++)
{
scanf("%I64d",&a[i]);
sum+=a[i];
s.push_back(a[i]);
}
printf("Case #%d: ",++kase);
if(sum%kk!=0)
{
printf("-1\n");
continue;
}
ll k=sum/kk;
int output=0;
while(!s.empty())
{
ll u=s.front();
s.pop_front();
if(u==k)continue;
else if(u>k)
{
output+=u/k;
u%=k;
if(u==0)output--;
}
if(u==0)continue;
if(u<k)
{
while(1)
{
ll v=s.front();
s.pop_front();
u+=v;
output++;
if(u==k)break;
if(u>k)
{
s.push_front(u);
break;
}
}
}
}
printf("%d\n",output);
}
}
tjut 5933
最新推荐文章于 2021-05-19 17:12:07 发布