Thứ Hai, 25 tháng 3, 2019

Bài B - Codeforces Round #535 (Div.3)

Bài B:
Đề bài: Gần đây bạn được nhận hai số nguyên dương x và y. Bạn quên chúng, nhưng bạn nhớ rằng một danh sách bị xáo trộn chứa tất cả các ước của x (bao gồm cả 1 và x) và tất cả các ước của y (bao gồm cả 1 và y). Nếu d là một ước của cả x và y thì d sẽ xuất hiện hai lần trong danh sách.
Ví dụ, nếu x=4 và y=6 thì danh sách được cho có thể là 1 hoán vị của [1,2,4,1,2,3,6]. Một vài danh sách có thể là: [1,1,2,4,6,3,2],[4,6,1,1,2,3,2] hoặc [1,6,3,2,4,1,2].
Vấn đề của bạn là khôi phục lại các số x và y phù hợp với danh sách các ước đã cho.
Đảm bảo rằng, câu trả lời luôn tồn tại, nghĩa là danh sách ước số đã cho tương ứng với một số nguyên dương x và y.
Đầu vào:
+ Dòng đầu tiên chứa số nguyên n (2<=n<=128) - số các ước của x và y.
+ Dòng thứ hai chứa n số nguyên d(1),d(2),...,d(n)(1<=d(i)<=10^4), ở đây d(i) là ước của x hoặc y. Nếu một số vừa là ước của x và y thì sẽ xuất hiện hai lần trong danh sách.
Đầu ra:
+ In ra 2 số nguyên x và y.
Ví dụ:
Đầu vào:
10
10 2 8 1 2 4 1 20 4 5
Đầu ra:
20 8
Hướng dẫn:
Chúng ta xét phần tử lớn nhất của mảng. Đột ngột, số này là x( hoặc y, thứ tự không phải là vấn đề). Okay, chúng ta sẽ làm gì nếu biết x và danh sách lộn xộn của x và y? Chúng ta sẽ loại bỏ tất cả ước của x và chúng ta sẽ nhìn thấy điều phải cần làm. Phần tử còn lại lớn nhất trong mảng sẽ là y. Vì vậy, vấn đề đã được giải quyết.
Lời giải:
#include <bits/stdc++.h>

using namespace std;

int main() {
#ifdef _DEBUG
 freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
#endif
 
 int n;
 cin >> n;
 multiset<int> a;
 for (int i = 0; i < n; ++i) {
  int x;
  cin >> x;
  a.insert(x);
 }
 
 int x = *prev(a.end());
 for (int i = 1; i <= x; ++i) {
  if (x % i == 0) {
   a.erase(a.find(i));
  }
 }
 
 cout << x << " " << *prev(a.end()) << endl;
 
 return 0;
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...