Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- const int maxn=2e5+100;
- int arr[maxn];
- int main()
- {
- string s;
- int L;
- ifstream f("periodic.in");
- f>>L;
- f>>s;
- ofstream g("periodic.out");
- if((int)s.size()>=L)
- {
- bool flag=true;
- for(int i=0; i<L; ++i)
- {
- arr[i]=s[i]-'0';
- }
- if(s.size()%L==0)
- {
- bool Acepty=true;
- bool stuas=true;
- for(int i=L;i<(int)s.size()&&Acepty;i+=L)
- {
- for(int j=0;j<L&&i+j<(int)s.size();++j)
- {
- if(arr[j]>s[i+j]-'0')
- {
- stuas=false;
- break;
- }
- else if(arr[j]<s[i+j]-'0')
- {
- Acepty=false;
- break;
- }
- }
- }
- if(stuas)
- {
- int res=1;
- for(int i=L-1;i>=0;--i)
- {
- res=res+arr[i];
- arr[i]=res%10;
- res/=10;
- if(res&&i==0)
- {
- flag=false;
- }
- }
- }
- }
- else
- {
- int res=1;
- for(int i=L-1;i>=0;--i)
- {
- res=res+arr[i];
- arr[i]=res%10;
- res/=10;
- if(res&&i==0)
- {
- flag=false;
- }
- }
- }
- if(!flag||s.size()%L)
- {
- arr[0]=1;
- for(int i=1;i<L;++i)
- arr[i]=0;
- int tp=s.size()/L+1;
- for(int i=0;i<tp;++i)
- {
- for(int j=0;j<L;++j)
- g<<arr[j];
- }
- g<<'\n';
- }
- else
- {
- int tp=s.size()/L;
- for(int i=0;i<tp;++i)
- {
- for(int j=0;j<L;++j)
- g<<arr[j];
- }
- g<<'\n';
- }
- }
- else
- {
- memset(arr,0,sizeof arr);
- arr[0]=1;
- for(int i=0;i<L;++i)
- g<<arr[i];
- g<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement