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 } // class
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 325 1 2 3 4 5 6 7 8 9 10 11 12 13 ... Truncated |