Guest User

Untitled

a guest
Jul 22nd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. void changeDivz(int nr)
  4. {
  5.     long long unsigned int copy = divz;
  6.     while(copy % 2 == 0)
  7.     {
  8.         nr /=2;
  9.         copy /=2;
  10.     }
  11.     while(nr % 2 == 0)
  12.     {
  13.         divz *= 2;
  14.         nr /=2;
  15.     }
  16.     int n_c = nr;
  17.     for(int i = 3;i<=n_c/2;i+=2)
  18.     {
  19.         while(nr % i == 0 && copy % i == 0)
  20.         {
  21.             nr /= i;
  22.             copy /=i;
  23.         }
  24.         while(nr % i == 0)
  25.         {
  26.             nr /=i;
  27.             divz *= i;
  28.         }
  29.     }
  30.     if(copy % nr != 0)
  31.     divz *= nr;
  32. }
  33.  
  34. long long unsigned int divz = 1;
  35.  
  36. int main()
  37. {
  38.     std::ifstream in("alune.in");
  39.     std::ofstream out("alune.out");
  40.     int c,d,chip,dale;
  41.     unsigned int min = -1;
  42.     in >> c >> d;
  43.     for(int i = 0;i<c;++i)
  44.     {
  45.         in >> chip;
  46.         if(chip < min)min = chip;
  47.         if(divz % chip!= 0 && divz < 2000000000)
  48.         changeDivz(chip);
  49.     }
  50.     if(divz < 2000000000)
  51.     {
  52.         for(int i = 0;i<d;++i)
  53.         {
  54.             in >> dale;
  55.             if(dale % divz < min)
  56.             out << 1;
  57.             else out << 0;
  58.         }
  59.     }
  60.     else
  61.     {
  62.         for(int i = 0;i<d;++i)
  63.         {
  64.             in >> dale;
  65.             if(dale < min)
  66.             out << 1;
  67.             else out << 0;
  68.         }
  69.     }
  70.     return 0;
  71. }
Add Comment
Please, Sign In to add comment