Advertisement
ekzolot

Untitled

Nov 6th, 2022
642
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <unordered_set>
  4. using namespace std;
  5. int main(){
  6.     int k1, m, k2, p2, n2;
  7.     cin>>k1>>m>>k2>>p2>>n2;
  8.     if (n2>m){
  9.         cout<<-1<<" "<<-1<<"\n";
  10.         return 0;
  11.     }
  12.     vector <int> ap;
  13.     for (int x=1; x<=1000; x++){
  14.         if (k2-1-(p2-1)*m*x-(n2-1)*x==(k2-1)%x){
  15.             ap.push_back(x);
  16.         }
  17.     }
  18.     unordered_set <int> n1;
  19.     unordered_set <int> p1;
  20.     for (int i=1; i<=m; i++){
  21.         for (int j=0; j<int(ap.size()); j++){
  22.             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){
  23.                     int k=(k1-(k1-1)%ap[j]-1-(i-1)*ap[j])/(ap[j]*m)+1;
  24.                     n1.insert(i);
  25.                     p1.insert(k);
  26.             }
  27.         }
  28.     }
  29.     if (n1.size()==0 || p1.size()==0){
  30.         cout<<-1<<" "<<-1<<"\n";
  31.         return 0;
  32.     }
  33.     if (p1.size()==1){
  34.         for (int i:p1){
  35.             cout<<i<<" ";
  36.         }
  37.     }else{
  38.         cout<<0<<" ";
  39.     }
  40.     if (n1.size()==1){
  41.         for (int i:n1){
  42.             cout<<i<<" ";
  43.         }
  44.         return 0;
  45.     }
  46.     cout<<0<<"\n";
  47.     return 0;
  48. }
  49.  
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement