aboutsummaryrefslogtreecommitdiff
path: root/contests/Starters80/D
diff options
context:
space:
mode:
Diffstat (limited to 'contests/Starters80/D')
-rwxr-xr-xcontests/Starters80/D/mainbin0 -> 33800 bytes
-rwxr-xr-xcontests/Starters80/D/main.cpp125
-rw-r--r--contests/Starters80/D/main_input0.txt4
-rw-r--r--contests/Starters80/D/main_input1.txt2
-rw-r--r--contests/Starters80/D/main_input2.txt2
-rw-r--r--contests/Starters80/D/main_input3.txt2
-rw-r--r--contests/Starters80/D/main_input4.txt2
-rw-r--r--contests/Starters80/D/main_output0.txt3
-rw-r--r--contests/Starters80/D/main_output1.txt1
-rw-r--r--contests/Starters80/D/main_output2.txt1
-rw-r--r--contests/Starters80/D/main_output3.txt1
-rw-r--r--contests/Starters80/D/main_output4.txt1
12 files changed, 144 insertions, 0 deletions
diff --git a/contests/Starters80/D/main b/contests/Starters80/D/main
new file mode 100755
index 0000000..52eeeea
--- /dev/null
+++ b/contests/Starters80/D/main
Binary files differ
diff --git a/contests/Starters80/D/main.cpp b/contests/Starters80/D/main.cpp
new file mode 100755
index 0000000..e742d6a
--- /dev/null
+++ b/contests/Starters80/D/main.cpp
@@ -0,0 +1,125 @@
+#include<bits/stdc++.h>
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define pb push_back
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+//pretty printing
+template<typename K, typename V>
+void printm(const map<K, V> &mp) {
+ cerr << "{" << endl;
+ for (auto p : mp) {
+ cerr << " { " << p.first << " : " << p.second << " }\n";
+ }
+ cerr << "}" << endl;
+}
+template<typename T>
+void printv(const vector<T> &v) {
+ cerr << "[";
+ for (int i = 0; i < v.size(); i++) {
+ if (i == v.size() - 1) {
+ cerr << v[i];
+ } else {
+ cerr << v[i] << ", ";
+ }
+ }
+ cerr << "]\n";
+}
+
+template<typename T>
+void printvv(const vector<vector<T>> &v) {
+ cerr << "[\n";
+ for (auto &vec : v) {
+ cout << " ";
+ printv(vec);
+ }
+ cerr << "]\n";
+}
+void print() {
+ cerr << "\n";
+}
+
+template<typename T, typename... TS>
+void print(T val, TS... vals) {
+ cerr << val << " ";
+ print(vals...);
+}
+
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
+
+void solve() {
+ ll n;
+ cin >> n;
+ ll sum = (n * (n + 1)) / 2;
+ vi v1 = {3, 4, 1, 2};
+ vi v2 = {1, 2, 4, 6, 3, 5};
+ if (sum % n == 0) {
+ cout << -1 << '\n';
+ } else {
+ vi ans(n);
+ if (n == 2) {
+ cout << 1 << " " << 2 << '\n';
+ }
+ else if (n == 4) {
+ for (auto x : v1) {
+ cout << x << ' ';
+ }
+ cout << '\n';
+ } else if (n == 6) {
+ for (auto x : v2) {
+ cout << x << ' ';
+ }
+ cout << '\n';
+ } else {
+ for (int i = 7; i <= n; i++) {
+ if (i % 2 == 1) {
+ v2.push_back(i + 1);
+ } else {
+ v2.push_back(i - 1);
+ }
+ }
+ for (auto x : v2) {
+ cout << x << ' ';
+ }
+ cout << '\n';
+ }
+ }
+
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ solve();
+ }
+}
+
+
diff --git a/contests/Starters80/D/main_input0.txt b/contests/Starters80/D/main_input0.txt
new file mode 100644
index 0000000..11f6059
--- /dev/null
+++ b/contests/Starters80/D/main_input0.txt
@@ -0,0 +1,4 @@
+3
+4
+6
+7
diff --git a/contests/Starters80/D/main_input1.txt b/contests/Starters80/D/main_input1.txt
new file mode 100644
index 0000000..4551b90
--- /dev/null
+++ b/contests/Starters80/D/main_input1.txt
@@ -0,0 +1,2 @@
+1
+8 \ No newline at end of file
diff --git a/contests/Starters80/D/main_input2.txt b/contests/Starters80/D/main_input2.txt
new file mode 100644
index 0000000..ecf8935
--- /dev/null
+++ b/contests/Starters80/D/main_input2.txt
@@ -0,0 +1,2 @@
+1
+12 \ No newline at end of file
diff --git a/contests/Starters80/D/main_input3.txt b/contests/Starters80/D/main_input3.txt
new file mode 100644
index 0000000..7a754f4
--- /dev/null
+++ b/contests/Starters80/D/main_input3.txt
@@ -0,0 +1,2 @@
+1
+2 \ No newline at end of file
diff --git a/contests/Starters80/D/main_input4.txt b/contests/Starters80/D/main_input4.txt
new file mode 100644
index 0000000..7a754f4
--- /dev/null
+++ b/contests/Starters80/D/main_input4.txt
@@ -0,0 +1,2 @@
+1
+2 \ No newline at end of file
diff --git a/contests/Starters80/D/main_output0.txt b/contests/Starters80/D/main_output0.txt
new file mode 100644
index 0000000..5602f68
--- /dev/null
+++ b/contests/Starters80/D/main_output0.txt
@@ -0,0 +1,3 @@
+3 4 1 2
+1 2 4 6 3 5
+-1
diff --git a/contests/Starters80/D/main_output1.txt b/contests/Starters80/D/main_output1.txt
new file mode 100644
index 0000000..f2036c1
--- /dev/null
+++ b/contests/Starters80/D/main_output1.txt
@@ -0,0 +1 @@
+1 2 4 6 3 5 8 7 \ No newline at end of file
diff --git a/contests/Starters80/D/main_output2.txt b/contests/Starters80/D/main_output2.txt
new file mode 100644
index 0000000..9a0233d
--- /dev/null
+++ b/contests/Starters80/D/main_output2.txt
@@ -0,0 +1 @@
+1 2 4 6 3 5 8 7 10 9 12 11 \ No newline at end of file
diff --git a/contests/Starters80/D/main_output3.txt b/contests/Starters80/D/main_output3.txt
new file mode 100644
index 0000000..1c6ae71
--- /dev/null
+++ b/contests/Starters80/D/main_output3.txt
@@ -0,0 +1 @@
+1 2 \ No newline at end of file
diff --git a/contests/Starters80/D/main_output4.txt b/contests/Starters80/D/main_output4.txt
new file mode 100644
index 0000000..1c6ae71
--- /dev/null
+++ b/contests/Starters80/D/main_output4.txt
@@ -0,0 +1 @@
+1 2 \ No newline at end of file