ntt1506tam
Rating
-
Bài tập
1
Điểm
1080
Rating #
-
Điểm #
18754
Giới thiệu
include <iostream>
include <set>
include <algorithm>
include <numeric>
using namespace std;
// Hàm tính GCD của hai số
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// Hàm tính GCD của tất cả các phần tử trong tập hợp
int gcd_of_set(const set<int>& s) {
if (s.empty()) return 1;
int result = *s.begin();
for (auto it = ++s.begin(); it != s.end(); ++it) {
result = gcd(result, *it);
if (result == 1) break; // Nếu GCD là 1, không cần tính tiếp
}
return result;
}
int main() {
int N;
cin >> N;
set<int> current_set;
for (int i = 0; i < N; ++i) {
int t, x;
cin >> t >> x;
if (t == 1) {
// Thao tác 1: Thêm số x vào tập hợp
current_set.insert(x);
} else if (t == 2) {
// Thao tác 2: Loại bỏ số x khỏi tập hợp
current_set.erase(x);
}
// Tính GCD của tập hợp hiện tại và in ra kết quả
cout << gcd_of_set(current_set) << endl;
}
return 0;
}