Submission #1311928

#TimeUsernameProblemLanguageResultExecution timeMemory
1311928rs28Carnival (CEOI14_carnival)Java
100 / 100
353 ms29580 KiB
import java.util.*;

public class carnival {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();

		int[] ans = new int[N + 1];
		List<Integer> cos = new ArrayList<>();

		for (int i = 1; i <= N; i++) {
			System.out.print((cos.size() + 1));
			for (int r : cos) {
				System.out.print(" " + r);
			}
			System.out.println(" " + i);
			System.out.flush();

			int response = in.nextInt();

			if (response == cos.size() + 1) {
				cos.add(i);
				ans[i] = cos.size();
			} else {
				int a = 0;
				int b = cos.size() - 1;

				while (a < b) {
					int mid = (a + b) / 2;
					int lS = mid - a + 1;

					System.out.print((lS + 1));
					
					for (int k = a; k <= mid; k++) {
						System.out.print(" " + cos.get(k));
					}
					
					System.out.println(" " + i);
					System.out.flush();

					int inn = in.nextInt();

					if (inn == lS) {
						b = mid;
					} else {
						a = mid + 1;
					}
				}
				ans[i] = ans[cos.get(a)];
			}
		}

		System.out.print("0");
		for (int i = 1; i <= N; i++) {
			System.out.print(" " + ans[i]);
		}
		System.out.println();
		System.out.flush();
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...