| Task: | Kolmijako |
| Sender: | Sisuaski |
| Submission time: | 2025-09-05 19:43:14 +0300 |
| Language: | C++ (C++17) |
| 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 <iostream>
#include <vector>
using namespace std;
vector<int> base0[3]={{},{},{}};
vector<int> base5[3]={{1,4},{2,3},{5}};
vector<int> base8[3]={{1,5,6},{2,3,7},{4,8}};
vector<int> base9[3]={{1,2,3,4,5},{7,8},{6,9}};
int main() {
int t;cin>>t;
while(t--){
int n;cin>>n;
int st;
vector<int> (*base)[3];
if (n%6==0) base=&base0,st=0;
else if (n>2&&n%6==2) base=&base8,st=8;
else if (n>3&&n%6==3) base=&base9,st=9;
else if (n%6==5) base=&base5,st=5;
else {
cout<<"NO\n";
continue;
}
int c=(n-st)/6;
auto& b=*base;
cout<<"YES\n";
for(int g=0; g<3; ++g) {
cout<<b[g].size()+2*c<<'\n';
for(int i:b[g])cout<<i<<' ';
for(int i=0;i<c;++i)cout<<st+1+g+3*i<<' '<<n-g-3*i<<' ';
cout<<'\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 564 4 561 7 558 10 555 13 55... Truncated |
