| Task: | Kolmijako |
| Sender: | tykkipeli |
| Submission time: | 2025-09-05 19:13:46 +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;
typedef long long ll;
int get_sum(vector<int> v) {
int res = 0;
for (int x : v) res += x;
return res;
}
void testCase(int n) {
int sum = n*(n+1)/2;
if (sum % 3 != 0 || n <= 3) {
cout << "NO\n";
return;
}
vector<int> a,b,c;
int start = 1;
if (n % 6 == 3) {
a = {9,6};
b = {8,7};
c = {1,2,3,4,5};
start += 9;
}
if (n % 6 == 2) {
a = {2,3,7};
b = {4,8};
c = {1,5,6};
start += 8;
}
if (n % 6 == 5) {
a = {5};
b = {2,3};
c = {1,4};
start += 5;
}
for (int i = start; i <= n; i += 6) {
a.push_back(i);
a.push_back(i+5);
b.push_back(i+1);
b.push_back(i+4);
c.push_back(i+2);
c.push_back(i+3);
}
cout << "YES\n";
cout << a.size() << "\n";
for (int x : a) cout << x << " ";
cout << "\n";
cout << b.size() << "\n";
for (int x : b) cout << x << " ";
cout << "\n";
cout << c.size() << "\n";
for (int x : c) cout << x << " ";
cout << "\n";
/*
if (get_sum(a) != get_sum(b) || get_sum(b) != get_sum(c)) {
cout << "ERROR" << endl;
exit(0);
}
*/
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin >> t;
for (int i = 0; i < t; i++) {
int n;
cin >> n;
testCase(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 |
