Submission details
Task:Kolmijako
Sender:Kuha
Submission time:2025-09-06 12:40:59 +0300
Language:C++ (C++11)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED23
#2ACCEPTED42
#3ACCEPTED35
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2ACCEPTED0.02 s2, 3details
#3ACCEPTED0.04 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:20:21: warning: unused variable 'target' [-Wunused-variable]
   20 |                 int target = (n * (n + 1) / 2) / 3;
      |                     ^~~~~~

Code

#include <bits/stdc++.h>

using namespace std;

int sum(vector<int> &v) {
    int s = 0;
    for (int i : v) s += i;
    return s;
}

int main() {
    int t;
    cin>>t;
    while (t --> 0) {
        int n;
        cin>>n;
        if (n > 4 && (n * (n + 1) / 2) % 3 == 0) {
            cout<<"YES"<<endl;
            while (true) {
                int target = (n * (n + 1) / 2) / 3;
                vector<int> a;
                vector<int> b;
                vector<int> c;
                int m = n;
                if (m > 9) {
                    for (; m > 9; m -= 6) {
                        a.push_back(m);
                        a.push_back(m - 5);
                        b.push_back(m - 1);
                        b.push_back(m - 4);
                        c.push_back(m - 2);
                        c.push_back(m - 3);
                    }
                }
                while (m >= 1) {
                    int x = rand() % 3;
                    if (x == 0) a.push_back(m);
                    if (x == 1) b.push_back(m);
                    if (x == 2) c.push_back(m);
                    m--;
                }
                if (sum(a) == sum(b) && sum(b) == sum(c)) {
                    cout<<a.size()<<endl;
                    for (int i : a) cout<<i<<" ";
                    cout<<endl;
                    cout<<b.size()<<endl;
                    for (int i : b) cout<<i<<" ";
                    cout<<endl;
                    cout<<c.size()<<endl;
                    for (int i : c) cout<<i<<" ";
                    cout<<endl;
                    break;
                }
            }
        } else {
            cout<<"NO"<<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
564 559 558 553 552 547 546 54...
Truncated