#include<bits/stdc++.h>
#include<ctime>
using namespace std;
long long t;
long long n,k,a,b;
unsigned long long anger;
unsigned long long last,dis,num;
string music;
pair<string,int>f[100010];
pair<string,int> make_pair(string a,int b)
{
pair<string,int>p;
p.first=a,p.second=b;
return p;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n>>k>>a>>b;
music='A';
for(int i=1;i<n;i++)music+=char((music[i-1]-64)%58+65);
anger=(n+1-k)*b;
if(anger<=0)
{
anger=0;
cout<<anger<<endl<<music<<endl;
continue;
}
num=n/(k-1);
anger=(num)*a;
for(int i=0;i<n;i++)
if((i+1)%(k-1)==0)music[i+1]=music[i];
last=num*(k-1)-k+1;
dis=n-last;
if((dis-k+1)*b<a)
{
anger=anger-a+(dis-k+1)*b;
music[num*(k-1)]=char(music[num*(k-1)]+1);
}
cout<<anger<<endl;
cout<<music<<endl;
}
return 0;
}
不要在意什么f什么makepair什么的 那是dp的遗址(
checker返回的也不是什么score= type= 他返回一个什么
Wrong Answer.wrong output format Expected int64, but "18446744073369453871" found