| Task: | Kolmijako |
| Sender: | vgtcross |
| Submission time: | 2025-09-05 18:13:03 +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>
#define MODE 1
#if MODE
#define debug(x) cout << #x << ": " << (x) << endl
#define log(x) cout << (x) << endl
#define test(x) x
#else
#define debug(x)
#define log(x)
#define test(x)
#endif
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
#define X real()
#define Y imag()
using namespace std;
using ll = long long;
using ld = long double;
using uint = unsigned int;
using ull = unsigned long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using P = complex<ll>;
template<typename S, typename T = S> void chmin(S &s, T t) {s = s < t ? s : t;}
template<typename S, typename T = S> void chmax(S &s, T t) {s = s > t ? s : t;}
const ll M = 1000000007; // 998244353
vector<vector<int>> calc(int n) {
if (n < 0) exit(1);
if (n == 2) return {{2}, {1}, {}};
if (n == 3) return {{3}, {2}, {1}};
auto a = calc(n-3);
a[0].push_back(n-1);
a[1].push_back(n-2);
a[2].push_back(n);
swap(a[1], a[2]);
return a;
}
void solve() {
int n;
cin >> n;
if (n % 3 == 1 || n < 5) {
cout << "NO\n";
return;
}
cout << "YES\n";
auto a = calc(n-3);
a[0].push_back(n-2);
a[1].push_back(n-1);
a[2].push_back(n);
for (auto &b : a) {
cout << b.size() << '\n';
for (int x : b) cout << x << ' ';
cout << '\n';
}
}
int main() {
cin.tie(0) -> sync_with_stdio(0);
int t = 0;
if (t == 0) cin >> t;
while (t--) solve();
return 0;
}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 3 5 8 11 14 17 20 23 26 29 32 ... Truncated |
