Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <unordered_set>
- using namespace std;
- int main(){
- int k1, m, k2, p2, n2;
- cin>>k1>>m>>k2>>p2>>n2;
- if (n2>m){
- cout<<-1<<" "<<-1<<"\n";
- return 0;
- }
- vector <int> ap;
- for (int x=1; x<=1000; x++){
- if (k2-1-(p2-1)*m*x-(n2-1)*x==(k2-1)%x){
- ap.push_back(x);
- }
- }
- unordered_set <int> n1;
- unordered_set <int> p1;
- for (int i=1; i<=m; i++){
- for (int j=0; j<int(ap.size()); j++){
- if (k1-(k1-1)%ap[j]-1-(i-1)*ap[j]>=0 && (k1-(k1-1)%ap[j]-1-(i-1)*ap[j])%(m*ap[j])==0){
- int k=(k1-(k1-1)%ap[j]-1-(i-1)*ap[j])/(ap[j]*m)+1;
- n1.insert(i);
- p1.insert(k);
- }
- }
- }
- if (n1.size()==0 || p1.size()==0){
- cout<<-1<<" "<<-1<<"\n";
- return 0;
- }
- if (p1.size()==1){
- for (int i:p1){
- cout<<i<<" ";
- }
- }else{
- cout<<0<<" ";
- }
- if (n1.size()==1){
- for (int i:n1){
- cout<<i<<" ";
- }
- return 0;
- }
- cout<<0<<"\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement