| Task: | Kolmijako |
| Sender: | Yytsi |
| Submission time: | 2025-09-07 16:41:54 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 23 |
| #2 | ACCEPTED | 42 |
| #3 | ACCEPTED | 35 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.00 s | 2, 3 | details |
| #3 | ACCEPTED | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#ifdef LOCAL
#include "debug.hpp"
#else
#define debug(...) 0xffff
#endif
void solve(int n) {
if (n < 5) return cout << "NO\n", void();
if (n == 5) return cout << "YES\n1\n5\n2\n1 4\n2\n2 3\n", void();
if (n == 8) return cout << "YES\n2\n5 7\n2\n8 4\n4\n1 2 3 6\n", void();
if (n == 9) return cout<< "YES\n2\n9 6\n2\n8 7\n5\n1 2 3 4 5\n", void();
if (n % 6 == 1 || n % 6 == 4) return cout << "NO\n", void();
cout << "YES\n";
vector<int> a, b, c;
int p = 6;
if (n % 6 == 0) {
a = {1, 6};
b = {2, 5};
c = {3, 4};
} else if (n % 6 == 2) {
a = {5, 7};
b = {8, 4};
c = {1, 2, 3, 6};
p = 8;
} else if (n % 6 == 3) {
a = {9, 6};
b = {8, 7};
c = {1, 2,3, 4, 5};
p = 9;
} else if (n % 6 == 5) {
a = {5};
b = {2, 3};
c = {1, 4};
p = 5;
}
//debug(c);
while (p < n) {
a.push_back(p + 1);
a.push_back(p + 6);
b.push_back(p + 2);
b.push_back(p + 5);
c.push_back(p + 3);
c.push_back(p + 4);
p += 6;
}
for (auto C: {a,b,c}) {
cout<<C.size()<<"\n";
for (int val : C) {
cout<<val<<" ";
}
cout<<"\n";
}
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int t; cin >> t;
while (t--) {
int n; cin >> n;
solve(n);
}
}Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 15 1 2 3 4 ... |
| correct output |
|---|
| NO NO NO NO YES ... |
| user output |
|---|
| NO NO NO NO YES ... Truncated |
Test 2
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 1 2 3 4 ... |
| correct output |
|---|
| NO NO NO NO YES ... |
| user output |
|---|
| NO NO NO NO YES ... Truncated |
Test 3
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100 564 895 546 980 ... |
| correct output |
|---|
| YES 188 1 6 12 7 18 13 24 19 30 25 36 ... |
| user output |
|---|
| YES 188 1 6 7 12 13 18 19 24 25 30 31 ... Truncated |
