反正题过了也无所谓A不AC了,单纯好奇为啥UKE
#include <iostream>
#include <cstring>
using namespace std;
const int N=300000;
int n,k;
char a[N],b[N];
bool check()
{
for(int i=0;i<n;i++)
{
if(a[i]>b[i]) return true;
if(a[i]<b[i]) return false;
}
return false;
}
int main()
{
cin>>n>>k>>a;
for(int i=0;i<n;i+=k)
{
for(int j=0;j<k;j++)
{
b[i+j]=a[j];
}
}
if(check())
{
int t=1;
for(int i=k-1;i>=0;i--)
{
a[i]+=t;
if(a[i]<'9'+1)
{
break;
}
else
{
t=1;
a[i]-=10;
}
}
for(int i=0;i<n;i+=k)
{
for(int j=0;j<k;j++) b[i+j]=a[j];
}
}
cout<<n<<endl;
for(int i=0;i<n;i++) cout<<b[i];
return 0;
}