Advertisement
Rusu

Online GCD - CS Academy - Accepted

Mar 11th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3.  
  4. using namespace std;
  5.  
  6. #define DIM 100005
  7.  
  8. int N, M;
  9. int V[DIM];
  10.  
  11. int cmmdc(int a, int b) {
  12.     int r = a % b;
  13.  
  14.     while(r) {
  15.         a = b;
  16.         b = r;
  17.         r = a % b;
  18.     }
  19.  
  20.     return b;
  21. }
  22.  
  23. int main() {
  24.     #ifndef ONLINE_JUDGE
  25.     freopen("input.txt","r",stdin);
  26.     #endif // ONLINE_JUDGE
  27.  
  28.     scanf("%d %d\n%d", &N, &M, &V[1]);
  29.  
  30.     int gcd = V[1];
  31.  
  32.     for(int i = 2; i <= N; ++i) {
  33.         scanf("%d", &V[i]);
  34.  
  35.         gcd = cmmdc(gcd, V[i]);
  36.     }
  37.  
  38.     int pos, x;
  39.  
  40.     for(int i = 1; i <= M; ++i) {
  41.         scanf("%d %d\n", &pos, &x);
  42.  
  43.         V[pos] /= x;
  44.  
  45.         gcd = cmmdc(gcd, V[pos]);
  46.         cout << gcd << '\n';
  47.     }
  48.  
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement