Submission #1251889

#TimeUsernameProblemLanguageResultExecution timeMemory
1251889vampirrIntercastellar (JOI22_ho_t1)Java
100 / 100
1198 ms191424 KiB
import java.util.*; public class Main { public static int[] findlog2(int n) { int div=1; while (n%div==0) { div*=2; } div/=2; return new int[] {div,n/div}; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); TreeMap<Long, Integer> tm = new TreeMap<>(); long curridx=0; for (int i=0; i<N; i++) { int a=in.nextInt(); int[] log = findlog2(a); tm.put(curridx+(long) log[0], log[1]); curridx+=log[0]; } int Q = in.nextInt(); while (Q-->0) { long a=in.nextLong(); System.out.println(tm.get(tm.ceilingKey(a))); } in.close(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...