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

Code

#include <bits/stdc++.h>
#define F first
#define S second
typedef long long ll;
using namespace std;

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	vector<vector<int>> sol6 = {{1,6}, {2,5}, {3,4}};
	vector<vector<int>> sol5 = {{5}, {2,3}, {1,4}};
	vector<vector<int>> sol8 = {{2,3,7}, {4,8}, {1,5,6}};
	vector<vector<int>> sol9 = {{6,9}, {7,8}, {1,2,3,4,5}};

	int t;
	cin>>t;
	for (int i=0;i<t;i++){
		int n;
		cin>>n;
		vector<vector<int>> ans(3);
		if (n<5) {
			cout<<"NO"<<endl;
			continue;
		} else if (n%3==1){
			cout<<"NO"<<endl;
			continue;
		} else if (n%6==0) {
			for (int j=0;j<n/6;j++){
				for (int k=0;k<3;k++){
					for (int x : sol6[k]){
						ans[k].push_back(x+j*6);
					}
				}
			}
		} else if (n%6==2){
			ans = sol8;
			for (int j=0;j<n/6-1;j++){
				for (int k=0;k<3;k++){
					for (int x : sol6[k]){
						ans[k].push_back(x+j*6+8);
					}
				}
			}
		} else if (n%6==3){
			ans = sol9;
			for (int j=0;j<n/6-1;j++){
				for (int k=0;k<3;k++){
					for (int x : sol6[k]){
						ans[k].push_back(x+j*6+9);
					}
				}
			}
		}  else if (n%6==5){
			ans = sol5;
			for (int j=0;j<n/6;j++){
				for (int k=0;k<3;k++){
					for (int x : sol6[k]){
						ans[k].push_back(x+j*6+5);
					}
				}
			}
		}
		cout<<"YES"<<endl;
		for (int k=0;k<3;k++){
			cout<<ans[k].size()<<endl;
			for (int x : ans[k]){
				cout<<x<<" ";
			}
			cout<<endl;
		}
	}
}

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