| Task: | Kolmijako |
| Sender: | TapaniS |
| Submission time: | 2025-09-07 12:18:30 +0300 |
| Language: | Java |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 23 |
| #2 | ACCEPTED | 42 |
| #3 | ACCEPTED | 35 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.18 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.25 s | 2, 3 | details |
| #3 | ACCEPTED | 0.47 s | 3 | details |
Code
import java.util.*;
public class kolmijako {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int t = Integer.parseInt(input.nextLine());
int[] ans = new int[t];
int[] len = new int[t];
for (int i = 0; i < t; i++) {
int a = input.nextInt();
len[i] = a;
}
input.close();
for (int i = 0; i < t; i++) {
int a = len[i];
if (a < 5) {
System.out.println("NO");
continue;
}
int sum = a * (a+1) / 2;
int remainder = sum % 3;
if (remainder > 0) {
System.out.println("NO");
continue;
}
// calc here
ans[i] = sum / 3;
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
ArrayList<Integer> list3 = new ArrayList<>();
for (int i2 = 1; i2 <= a; i2++) {
list1.add(i2);
}
int rest2 = sum / 3;
int rest3 = sum / 3;
for (int i3 = list1.size() - 1; i3 >= 0; i3--) {
int val = list1.get(i3);
if ((val <= rest2) && (rest2 >0)) {
list2.add(val);
list1.remove(i3);
rest2 = rest2 - val;
}
else if ((val <= rest3) && (rest3 >0)) {
list3.add(val);
list1.remove(i3);
rest3 = rest3 - val;
}
if ((rest2 == 0) && (rest3 ==0)) {
System.out.println("YES");
System.out.println(list1.size());
for (int i4 = 0; i4 < list1.size() - 1; i4++) {
System.out.print(list1.get(i4) + " ");
}
System.out.println(list1.get(list1.size() - 1));
System.out.println(list2.size());
for (int i5 = list2.size() - 1; i5 > 0; i5--) {
System.out.print(list2.get(i5) + " ");
}
System.out.println(list2.get(0));
System.out.println(list3.size());
for (int i6 = list3.size() - 1; i6 > 0; i6--) {
System.out.print(list3.get(i6) + " ");
}
System.out.println(list3.get(0));
break;
} // found all ok
if (i3 == 0) {System.out.println("NO");}
} // for i3 - one case end
} // for i1 - all case end
} // main program
} // classTest 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 325 1 2 3 4 5 6 7 8 9 10 11 12 13 ... Truncated |
