aboutsummaryrefslogtreecommitdiff
path: root/cses/IntroductoryProblems/TwoSets/main.cpp
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2022-11-03 19:21:07 +0200
committeromagdy7 <omar.professional8777@gmail.com>2022-11-03 19:21:07 +0200
commitb79a55ceee2f4532ef6621f9d86c6c61543ce6c9 (patch)
treecf015978b31dc39fbcd35ef4d92e9ffc9fa9322f /cses/IntroductoryProblems/TwoSets/main.cpp
parent7c46e26fc0eea8ccbbd2fb22bd822bcf59dee563 (diff)
downloadcompetitive-programming-b79a55ceee2f4532ef6621f9d86c6c61543ce6c9.tar.xz
competitive-programming-b79a55ceee2f4532ef6621f9d86c6c61543ce6c9.zip
Added some problems
Diffstat (limited to 'cses/IntroductoryProblems/TwoSets/main.cpp')
-rw-r--r--cses/IntroductoryProblems/TwoSets/main.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/cses/IntroductoryProblems/TwoSets/main.cpp b/cses/IntroductoryProblems/TwoSets/main.cpp
new file mode 100644
index 0000000..bec99d9
--- /dev/null
+++ b/cses/IntroductoryProblems/TwoSets/main.cpp
@@ -0,0 +1,41 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ ll n;
+ cin >> n;
+ ll sum = (n * (n + 1)) / 2;
+ ll s = sum / 2;
+ if (sum & 1) {
+ cout << "NO" << '\n';
+ } else {
+ cout << "YES" << '\n';
+ vector<bool> a(n + 1);
+ for (int i = n; i >= 1; i--) {
+ if (s <= i) {
+ a[s] = true;
+ break;
+ }
+ s -= i;
+ a[i] = true;
+ }
+ int c1 = count(a.begin() + 1, a.end(), false);
+ cout << c1 << '\n';
+ for (int i = 1; i <= n; i++) {
+ if (a[i] == false) {
+ cout << i << ' ';
+ }
+ }
+ cout << '\n' << n - c1 << '\n';
+ for (int i = 1; i <= n; i++) {
+ if (a[i] == true) {
+ cout << i << ' ';
+ }
+ }
+ }
+}