Submission #1202147

#TimeUsernameProblemLanguageResultExecution timeMemory
1202147octopops5Intercastellar (JOI22_ho_t1)Java
100 / 100
508 ms58660 KiB
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(bufferedReader.readLine());
        long[] a = new long[n];
        long[] prefix = new long[n];
        for(int i = 0; i < n; i++){
            if(i > 0){
                prefix[i] = prefix[i - 1];
            }
            a[i] = Long.parseLong(bufferedReader.readLine());
            int j = 0;
            while(a[i] % 2 == 0){
                j++;
                a[i] = a[i] / 2;
            }
            prefix[i]+=(long) Math.pow(2, j);
        }
        int q = Integer.parseInt(bufferedReader.readLine());
        for(int z = 0; z < q; z++){
            long index = Long.parseLong(bufferedReader.readLine());
            long find = Arrays.binarySearch(prefix, index);
            if(find < 0){
                find = (find + 1) * -1;
            }
            System.out.println(a[(int) find]);
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...