codeforces609div2C
1494 단어 욕심
#include
#include
#include
using namespace std;
const int maxn=200000+10;
int A[maxn];
int B[maxn];
int main(){
//freopen("a.in","r",stdin);
//freopen("a.out","w",stdout);
int n,k;
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++){
char c=getchar();
while(c'9')
c=getchar();
A[i]=c-'0';
}
for(int i=1;i<=k;i++){
B[i]=A[i];
if(i+k<=n)
B[i+k]=B[i];
}
for(int i=k+1;i<=n;i++){
if(i+k<=n)
B[i+k]=B[i];
}
int u=1;
for(int i=1;i<=n;i++){
if(A[i]>B[i]){
u=0;
break;
}
if(B[i]>A[i]){
u=1;
break;
}
}
if(u){
printf("%d
",n);
for(int i=1;i<=n;i++)
printf("%d",B[i]);
return 0;
}
B[k]=B[k]+1;
for(int i=k;i>=1;i--){
if(B[i]>=10){
B[i]=B[i]-10;
B[i-1]++;
}
}
if(B[0]){
for(int i=0;i<=n;i++){
if(i+k<=n)
B[i+k]=B[i];
}
printf("%d
",n+1);
for(int i=0;i<=n;i++)
printf("%d",B[i]);
}
else {
for(int i=1;i<=n;i++){
if(i+k<=n)
B[i+k]=B[i];
}
printf("%d
",n);
for(int i=1;i<=n;i++)
printf("%d",B[i]);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HPU - ACM 여름 훈련 2 주차 14 급 개인전: Problem D [욕심]Problem D Problem Description 그 러 고 보 니 해동 그룹 이 안팎 으로 어려움 을 겪 고 있 고 회사 의 원로 도 XHD 부부 만 남 았 다 고 한다.분명히 여러 해 동안 싸 운 상인 으로서...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.