Submission #599884

#TimeUsernameProblemLanguageResultExecution timeMemory
599884AryamanRtunjayCarnival (CEOI14_carnival)Java
0 / 100
372 ms14492 KiB
import java.util.*; public class carnival { public static void main(String args[]) { Scanner sc = new Scanner(System.in); List<Integer> unique = new ArrayList<>(); List<Integer> all = new ArrayList<>(); List<Integer> notUnique = new ArrayList<>(); List<Integer> costumeNums = new ArrayList<>(); int N = sc.nextInt(); for(int i = 0; i < N; i++) { unique.add(i + 1); all.add(i + 1); String uniqueAsStr = unique.toString(); uniqueAsStr = uniqueAsStr.substring(1, uniqueAsStr.length() - 1); uniqueAsStr = uniqueAsStr.replace(",", ""); System.out.println(unique.size() + " " + uniqueAsStr); System.out.flush(); int numUnique = sc.nextInt(); if(numUnique != unique.size()) { unique.remove(unique.size() - 1); notUnique.add(i + 1); } } for(int i = 0; i < N; i++) { costumeNums.add(0); } for(int i = 0; i < unique.size(); i++) { costumeNums.set(unique.get(i) - 1, i + 1); } for(int i = 0; i < notUnique.size(); i++) { int top = unique.size() - 1; int bottom = 0; int idx = 0; while(top >= bottom) { idx = (top + bottom)/2; List<Integer> checkList = unique.subList(bottom, idx + 1); String checkListStr = checkList.toString(); checkListStr = checkListStr.substring(1, checkListStr.length() - 1); checkListStr = checkListStr.replace(",", ""); System.out.println(checkList.size() + 1 + " " + checkListStr + " " + notUnique.get(i)); System.out.flush(); int numUnique = sc.nextInt(); if(numUnique != checkList.size() + 1) { if(checkList.size() == 1) { costumeNums.set(notUnique.get(i) - 1, costumeNums.get(checkList.get(0) - 1)); break; } top = idx; } else { bottom = idx + 1; if(checkList.size() == 1) { top = bottom + 2; } } } } String out = costumeNums.toString(); out = out.substring(1, out.length() - 1); out = "0 " + out; out = out.replace(",", ""); System.out.println(out); 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...