about summary refs log tree commit diff
path: root/12/QG-2008
diff options
context:
space:
mode:
Diffstat (limited to '12/QG-2008')
-rw-r--r--12/QG-2008/README.md36
-rw-r--r--12/QG-2008/seqgame.cpp59
2 files changed, 0 insertions, 95 deletions
diff --git a/12/QG-2008/README.md b/12/QG-2008/README.md
deleted file mode 100644
index 4327b5d..0000000
--- a/12/QG-2008/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# KÌ THI CHỌN HỌC SINH GIỎI QUỐC GIA THPT NĂM 2008
-
-## Trò chơi với dãy số
-
-Hai bạn học sinh trong lúc nhàn rỗi nghĩ ra trò chơi sau đây. Mỗi bạn chọn
-trước một dãy số gồm n số nguyên. Giả sử dãy số mà bạn thứ nhất chọn là:
-b<sub>1</sub>, b<sub>2</sub>, …, b<sub>n</sub>; còn dãy số mà bạn thứ hai chọn
-là: c<sub>1</sub>, c<sub>2</sub>, …, c<sub>n</sub>. Mỗi lượt chơi mỗi bạn đưa
-ra một số hạng trong dãy số của mình. Nếu bạn thứ nhất đưa ra số hạng
-b<sub>i</sub> (1 ≤ i ≤ n), còn bạn thứ hai đưa ra số hạng c<sub>j</sub> (1 ≤ j
-≤ n) thì giá của lượt chơi đó sẽ là |b<sub>i</sub> + c<sub>j</sub>|.
-
-### Yêu cầu
-
-Hãy xác định giá nhỏ nhất của một lượt chơi trong số các lượt chơi có thể.
-
-### Dữ liệu
-
-* Dòng đầu tiên chứa số nguyên dương n (n ≤ 10000);
-* Dòng thứ hai chứa dãy số nguyên b<sub>1</sub>, b<sub>2</sub>, …,
-  b<sub>n</sub> (|b<sub>i</sub>| ≤ 10<sup>9</sup>, i = 1, 2, …, n);
-* Dòng thứ ba chứa dãy số nguyên c<sub>1</sub>, c<sub>2</sub>, …,
-  c<sub>n</sub> (|c<sub>i</sub>| ≤ 10<sup>9</sup>, i = 1, 2, …, n);
-* Hai số liên tiếp trên một dòng được ghi cách nhau bởi dấu cách.
-
-### Kết quả
-
-Ghi ra giá nhỏ nhất tìm được.
-
-### Ví dụ
-
-|   SEQGAME.INP    | SEQGAME.OUT |
-| ---------------- | :---------: |
-| 2<br>1 -2<br>2 3 |      0      |
-
-*60% số tests ứng với 60% số điểm của bài có 1 ≤ n ≤ 1000.*
diff --git a/12/QG-2008/seqgame.cpp b/12/QG-2008/seqgame.cpp
deleted file mode 100644
index b1751c7..0000000
--- a/12/QG-2008/seqgame.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <iostream>
-#include <fstream>
-#include <set>
-
-#define ABS(x) ((x < 0) ? -x : x)
-
-using namespace std;
-
-int
-main()
-{
-  ifstream infile;
-  ofstream outfile;
-  short n;
-  long i, c, min = 2e9, a;
-  set<long> b;
-  std::set<long>::iterator k;
-
-  infile.open("SEQGAME.INP");
-  infile >> n;
-  for (i = 0; i < n; i++)
-    {
-      infile >> c;
-      b.insert(c);
-    }
-
-  for (; n--;)
-    {
-      infile >> c;
-      k = b.lower_bound(-c);
-      if (*k == -c)
-        {
-          min = 0;
-          break;
-        }
-
-      if (k != b.end())
-        {
-          i = ABS(*k + c);
-          if (a < min)
-            min = i;
-        }
-
-      if (k != b.begin())
-        {
-          k--;
-          i = ABS(*k + c);
-          if (a < min)
-            min = i;
-        }
-    }
-  infile.close();
-
-  outfile.open("SEQGAME.OUT");
-  outfile << min << endl;
-  outfile.close();
-
-  return 0;
-}