diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
commit | 2f674dc80f0382f1c3178f435714960734dc9d3c (patch) | |
tree | 2abba7e4ec72bd16f58f7375126144d3fd9f4bca /2ndary/12/QG-2008/seqgame.cpp | |
parent | b2d80610db6beda38573890ed169815e495bc663 (diff) | |
download | cp-2f674dc80f0382f1c3178f435714960734dc9d3c.tar.gz |
Reorganize stuff from secondary school
Diffstat (limited to '2ndary/12/QG-2008/seqgame.cpp')
-rw-r--r-- | 2ndary/12/QG-2008/seqgame.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/2ndary/12/QG-2008/seqgame.cpp b/2ndary/12/QG-2008/seqgame.cpp new file mode 100644 index 0000000..b1751c7 --- /dev/null +++ b/2ndary/12/QG-2008/seqgame.cpp @@ -0,0 +1,59 @@ +#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; +} |