제출 #1251889

#제출 시각아이디문제언어결과실행 시간메모리
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();
	}

}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…