-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathCodeforces_0300A_Array.java
More file actions
57 lines (54 loc) · 1.58 KB
/
Codeforces_0300A_Array.java
File metadata and controls
57 lines (54 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// Time: 560 ms
// Memory: 1000 KB
// Construct.
// T:O(n), S:O(n)
//
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Codeforces_0300A_Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), firstPosi = 0;
List<Integer> zero = new ArrayList<>(), nega = new ArrayList<>(), posi = new ArrayList<>();
for (int i = 0; i < n; i++) {
int a = sc.nextInt();
if (a == 0) {
zero.add(a);
} else if (a > 0) {
if (firstPosi == 0) {
firstPosi = a;
} else {
zero.add(a);
}
} else {
nega.add(a);
}
}
if (firstPosi == 0) {
posi.add(nega.get(0));
posi.add(nega.get(1));
nega = nega.subList(2, nega.size());
} else {
posi.add(firstPosi);
}
if (nega.size() % 2 == 0) {
zero.add(nega.get(0));
nega.remove(0);
}
System.out.println(nega.size());
System.out.println(print(nega));
System.out.println(posi.size());
System.out.println(print(posi));
System.out.println(zero.size());
System.out.println(print(zero));
}
private static String print(List<Integer> arr) {
StringBuilder ret = new StringBuilder();
for (int i : arr) {
ret.append(i);
ret.append(" ");
}
return ret.toString().trim();
}
}