728x90
import java.io.*;
import java.util.*;
class pairs
{
pairs(int i, int ii)
{
first = i;
second = ii;
}
public int first;
public int second;
}
public class Main {
static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
static int arr[] = new int[10001];
static int size;
static ArrayList<Integer>[] tree;
public static void main(String[] args) throws IOException {
String n = bf.readLine();
size = Integer.parseInt(n);
String n1 = bf.readLine();
String[] parts = n1.split(" ");
for (int j = 0; j < parts.length; j++) {
arr[j] = Integer.parseInt(parts[j]);
}
tree = new ArrayList[size+1];
for (int i = 0; i < size; i++) {
tree[i] = new ArrayList<>();
}
search(0,0,parts.length-1);
for (int i = 0; i < size; i++) {
Iterator<Integer> iterator = tree[i].iterator();
while (iterator.hasNext())
{
System.out.print(iterator.next()+" ");
}
System.out.println();
}
}
public static void search(int level, int start, int end)
{
if(level == size)
return;
int mid = (start + end)/2;
tree[level].add(arr[mid]);
search(level+1, start, mid-1);
search(level + 1, mid+1, end);
}
}
728x90
'알고리즘' 카테고리의 다른 글
백준 알고리즘 5347 (2) | 2024.03.29 |
---|---|
백준 알고리즘 2609 (1) | 2024.03.29 |
백준 알고리즘 2075 (0) | 2024.03.29 |
백준 알고리즘 2800 (0) | 2024.03.29 |
백준 알고리즘 10828 (0) | 2024.03.29 |