From 146f58d5d91133e43045df719b3f0ae7ad1266f0 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Thu, 13 Feb 2025 15:10:58 -0700 Subject: 1092. two sets --- introductory_problems/two_sets.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 introductory_problems/two_sets.cpp (limited to 'introductory_problems/two_sets.cpp') diff --git a/introductory_problems/two_sets.cpp b/introductory_problems/two_sets.cpp new file mode 100644 index 0000000..ce13e0c --- /dev/null +++ b/introductory_problems/two_sets.cpp @@ -0,0 +1,27 @@ +// 1092. Two Sets +#include +using namespace std; + +int main() { + static int n; + scanf("%d", &n); + if (n % 4 == 1 || n % 4 == 2) + printf("NO\n"); + else if (n % 4 == 3) { + printf("YES\n"); + printf("%d\n", n / 2); + for (int i = 2; i <= n / 2; i += 2) + printf("%d %d ", i, n - i); + printf("%d\n%d\n", n, n / 2 + 1); + for (int i = 1; i <= n / 2; i += 2) + printf("%d %d ", i, n - i); + } else { + printf("YES\n"); + printf("%d\n", n / 2); + for (int i = 2; i <= n / 2; i += 2) + printf("%d %d ", i, n - i + 1); + printf("\n%d\n", n / 2); + for (int i = 1; i <= n / 2; i += 2) + printf("%d %d ", i, n - i + 1); + } +} -- cgit v1.2.3