aboutsummaryrefslogtreecommitdiff
path: root/works/life/algorithm-contest-2/generator/5/3.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-12 15:55:21 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-12 15:55:21 +0800
commit1ecfd0ab7f1f511268fd6404dbc110c3c277b48c (patch)
tree49449a4076ded9bd937a51679318edbe2a532cae /works/life/algorithm-contest-2/generator/5/3.cpp
parent55d8b025e8d6ea971e8ee5762c892405fedc316b (diff)
parentf8c10dd1fc55e60f35286475356e48c4f642eb63 (diff)
downloadcrupest-1ecfd0ab7f1f511268fd6404dbc110c3c277b48c.tar.gz
crupest-1ecfd0ab7f1f511268fd6404dbc110c3c277b48c.tar.bz2
crupest-1ecfd0ab7f1f511268fd6404dbc110c3c277b48c.zip
import(life): IMPORT crupest/life COMPLETE.
Diffstat (limited to 'works/life/algorithm-contest-2/generator/5/3.cpp')
-rw-r--r--works/life/algorithm-contest-2/generator/5/3.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/works/life/algorithm-contest-2/generator/5/3.cpp b/works/life/algorithm-contest-2/generator/5/3.cpp
new file mode 100644
index 0000000..62d18c4
--- /dev/null
+++ b/works/life/algorithm-contest-2/generator/5/3.cpp
@@ -0,0 +1,47 @@
+#include <iostream>
+#include <random>
+#include <vector>
+
+using std::cout;
+
+int main() {
+ std::default_random_engine engine(std::random_device{}());
+ std::uniform_int_distribution<int> insert_distribution(0, 997);
+ std::uniform_int_distribution<int> distribution(1, 100000);
+ const int SIZE = 1000;
+ std::vector<int> v;
+
+ for (int i = 0; i < SIZE - 1; i++) {
+ v.push_back(distribution(engine));
+ }
+
+ int K = 320;
+
+ int a_index = insert_distribution(engine);
+ int a = v[a_index];
+ int b_index = insert_distribution(engine);
+ while (b_index == a_index) {
+ b_index = insert_distribution(engine);
+ }
+ int b = v[b_index];
+
+ int c_index = insert_distribution(engine);
+ while (c_index == a_index && c_index == b_index) {
+ c_index = insert_distribution(engine);
+ }
+ int c = v[c_index];
+
+ int d = (((-a - b - c) % K + K) % K) + 20 * K;
+
+ int d_index = insert_distribution(engine);
+
+ v.insert(v.cbegin() + d_index, c);
+
+ cout << SIZE << ' ' << K << '\n';
+
+ for (int i = 0; i < SIZE; i++) {
+ cout << v[i] << ' ';
+ }
+
+ return 0;
+}