Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #include<iostream>
- #include<cstdio>
- using namespace std;
- #define ll long long
- ll StringtoNumber(char c)
- {
- return c-'0';
- }
- int main()
- {
- string str;
- char String[1001000];
- scanf("%s",String);
- ll a,b;
- scanf("%lld %lld",&a,&b);
- str=String;
- // cout<<a<<" "<<b<<endl;
- ll num=0;
- int cnt=0;
- bool flag=false;
- vector<int>v;
- while(true)
- {
- while(num<a)
- { if(cnt==str.length())
- {
- flag=true;
- break;
- }
- ll x=StringtoNumber(str[cnt]);
- num=num*10+x;
- // cout<<num<<endl;
- cnt++;
- // cout<<cnt<<" "<<num<<endl;
- }
- if(num%a==0)
- {
- // cout<<num<<" "<<str[cnt]<<endl;
- if(str[cnt]=='0')
- {
- while(str[cnt]=='0')
- {
- if(cnt==str.length())
- break;
- cnt++;
- }
- // cout<<cnt<<endl;
- }
- // cout<<cnt<<endl;
- v.push_back(cnt);
- num=0;
- }
- else
- {
- num=num%a;
- }
- if(flag==true || cnt==str.length())
- {
- break;
- }
- }
- num=0;
- int bal=0;
- for(int i=0;i<v.size();i++)
- {
- if(v[i]==str.length())
- {
- bal++;
- }
- }
- if(bal==v.size())
- {
- cout<<"NO"<<endl;
- return 0;
- }
- int flg=0;
- for(int i=0;i<v.size();i++)
- {
- int pos=v[i];
- while(pos<str.length())
- {
- // cout<<num<<endl;
- ll x=StringtoNumber(str[pos]);
- num=num*10+x;
- if(num>=b)
- {
- num=num%b;
- }
- pos++;
- }
- if(num==0)
- { flg=1;
- cout<<"YES"<<endl;
- //cout<<"mara kha"<<endl;
- for(int j=0;j<v[i];j++)
- {
- cout<<str[j];
- }
- //cout<<"asdas"<<endl;
- cout<<endl;
- for(int j=v[i];j<str.length();j++)
- {
- cout<<str[j];
- }
- cout<<endl;
- break;
- return 0;
- }
- }
- if(flg==0)
- {
- cout<<"NO"<<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment