Submission details
Task:Kolmijako
Sender:Sisuaski
Submission time:2025-09-05 19:43:14 +0300
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED23
#2ACCEPTED42
#3ACCEPTED35
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 3details
#2ACCEPTED0.00 s2, 3details
#3ACCEPTED0.01 s3details

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