제출 #512985

#제출 시각아이디문제언어결과실행 시간메모리
512985williamli사육제 (CEOI14_carnival)Java
100 / 100
300 ms13524 KiB
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class carnival {
	static BufferedReader br;
	static int n;
	public static void main(String[] args) throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));
		n = Integer.parseInt(br.readLine());
		int[] ans = new int[n + 1], start = new int[n + 1];
		ans[1] = 1;
		start[1] = 1;
		int numg = 1, prev = 1;
		StringBuilder initq = new StringBuilder("1");
		for(int i = 2;i <= n;i++){
			initq.append(" ").append(i);
			System.out.println(i + " " + initq);
			int feed = Integer.parseInt(br.readLine());
			if(feed != prev){
				numg++;
				ans[i] = numg;
				start[numg] = i;
				prev = feed;
				continue;
			}
			int a = 1, b = numg;
			while(a != b){
				int mid = (a + b)/2;
				String q = "";
				for(int j = a;j <= mid;j++) q += " " + start[j];
				q += " " + i;
				System.out.println((mid - a + 2) + q);
				int feedback = Integer.parseInt(br.readLine());
				if(feedback == mid - a + 2) a = mid + 1;
				else b = mid;
			}
			ans[i] = a;
			prev = feed;
		}
		String print = "";
		for(int i = 0;i <= n;i++) print += ans[i] + " ";
		System.out.println(print);
	}
}
#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...