错的部分均是Score=3,Type=3,代码按照题解思路写的,求改错QwQ
#include<iostream>
#include<cstdio>
using namespace std;
long long t,n,k,a,b;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld%lld%lld%lld",&n,&k,&a,&b);
if(k>n)
{
printf("0\n");
for(int i=1;i<=n;i++) printf("%d",i%2);
printf("\n");
}
else
{
long long tot=((n-1)/(k-1));
long long sum1=((n-k+1)*b);
long long sum2=(tot*a);
long long sum3=sum2-a+(n-(tot*(k-1)))*b;
long long minn=min(sum1,min(sum2,sum3));
if(minn==sum1)
{
printf("%lld\n",sum1);
for(int i=1;i<=n;i++) printf("%d",i%2);
printf("\n");
}
else if(minn==sum2)
{
printf("%lld\n",sum2);
int now=0;
for(long long i=1;i<=n;i++)
{
if((i%(k-1)==0)&&(i!=n))
{
printf("%d%d",now,now);
now=now^1;
i++;
}
else
{
printf("%d",now);
now=now^1;
}
}
printf("\n");
}
else
{
printf("%lld\n",sum3);
int now=0;
for(long long i=1;i<=n;i++)
{
if((i%(k-1)==0)&&(i/(k-1))<=tot-1)
{
printf("%d%d",now,now);
now=now^1;
i++;
}
else
{
printf("%d",now);
now=now^1;
}
}
printf("\n");
}
}
}
return 0;
}