CSES - Datatähti 2021 loppu - Results
 Task: Kolmijako Sender: jusola Submission time: 2021-01-23 17:20:31 +0200 Language: C++17 Status: READY Result: 100
Feedback
groupverdictscore
#1ACCEPTED22
#2ACCEPTED78
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.01 s1, 2details
#3ACCEPTED0.01 s1, 2details
#4ACCEPTED0.01 s1, 2details
#5ACCEPTED0.01 s1, 2details
#6ACCEPTED0.01 s1, 2details
#7ACCEPTED0.01 s1, 2details
#8ACCEPTED0.01 s1, 2details
#9ACCEPTED0.01 s2details
#10ACCEPTED0.01 s2details
#11ACCEPTED0.01 s2details
#12ACCEPTED0.01 s2details
#13ACCEPTED0.01 s2details
#14ACCEPTED0.01 s2details
#15ACCEPTED0.01 s2details

### Code

```#include <iostream>
#include <vector>

using namespace std;

int s(int n){
return (n*(n+1))/6;
}

void pv(vector<int> v){
for (auto & c : v){
cout << c << " ";
}
}

bool r(int n, int g1l, int g2l, int g3l, vector<int>& o){
//cout << "n: " << n << " g1l: " << g1l << " g2l: " << g2l << " g3l: " << g3l << " vec: ";
//pv(o);
//cout << "\n";
if (g1l == 0 && g2l == 0 && g3l == 0 && n == 0) {
return true;
}

if(g1l >= n){
g1l -= n;
o[n - 1] = 1;
n--;
return r(n, g1l, g2l, g3l, o);
}

if(g2l >= n){
g2l -= n;
o[n - 1] = 2;
n--;
return r(n, g1l, g2l, g3l, o);
}

if(g3l >= n){
g3l -= n;
o[n - 1] = 3;
n--;
return r(n, g1l, g2l, g3l, o);
}

return false;
}

int main(){
int n;
cin >> n;
vector<int> o(n);

int bt = s(n);

if(r(n, bt-1, bt, bt+1, o)){
for (auto & c : o){
cout << c << " ";
}
}else{
cout << "IMPOSSIBLE\n";
}
}```

### Test details

#### Test 1

Group: 1, 2

Verdict: ACCEPTED

input
3

correct output
1 2 3

user output
1 2 3

#### Test 2

Group: 1, 2

Verdict: ACCEPTED

input
4

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

#### Test 3

Group: 1, 2

Verdict: ACCEPTED

input
5

correct output
1 3 1 3 2

user output
3 3 3 1 2

#### Test 4

Group: 1, 2

Verdict: ACCEPTED

input
6

correct output
1 3 2 2 1 3

user output
3 2 3 3 2 1

#### Test 5

Group: 1, 2

Verdict: ACCEPTED

input
7

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

#### Test 6

Group: 1, 2

Verdict: ACCEPTED

input
8

correct output
2 3 1 2 3 3 2 1

user output
3 3 1 3 2 3 2 1

#### Test 7

Group: 1, 2

Verdict: ACCEPTED

input
9

correct output
1 2 3 1 2 3 3 2 1

user output
3 3 3 3 1 3 2 2 1

#### Test 8

Group: 1, 2

Verdict: ACCEPTED

input
10

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

#### Test 9

Group: 2

Verdict: ACCEPTED

input
42

correct output
1 3 2 2 1 3 1 2 3 3 2 1 1 2 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

#### Test 10

Group: 2

Verdict: ACCEPTED

input
95

correct output
1 3 1 3 2 1 2 3 3 2 1 1 2 3 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
Truncated

#### Test 11

Group: 2

Verdict: ACCEPTED

input
96

correct output
1 3 2 2 1 3 1 2 3 3 2 1 1 2 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
Truncated

#### Test 12

Group: 2

Verdict: ACCEPTED

input
97

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

#### Test 13

Group: 2

Verdict: ACCEPTED

input
98

correct output
2 3 1 2 3 3 2 1 1 2 3 3 2 1 1 ...

user output
3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 ...
Truncated

#### Test 14

Group: 2

Verdict: ACCEPTED

input
99

correct output
1 2 3 1 2 3 3 2 1 1 2 3 3 2 1 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
Truncated

#### Test 15

Group: 2

Verdict: ACCEPTED

input
100

correct output
IMPOSSIBLE

user output
IMPOSSIBLE