This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |