// jump.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include using namespace std; int a[100001]; int calc_jumps(int s, int e) { //return z[i][1] - z[i][0]; int d = e - s, ae = a[s - 1] + e - s; int min = 0, max = e - s, j = (max + min) / 2; while (min < max) { if (a[j] > ae) { max = j; j = (max + min) / 2; if (j == max) { j--; break; } } else if (a[j] < ae) { min = j; j = (max + min) / 2; if (j == min) break; } else break; } return j + 1; } int main() { int N, Q; ifstream fin; fin.open("jumps.in"); ofstream fout; fout.open("jumps.out"); fin >> N; a[0] = 0; for (int i = 1; i <= N; i++) { int ai; fin >> ai; a[i] = a[i - 1] + ai; } fin >> Q; for (int i = 1; i <= Q; i++) { int s, e; fin >> s >> e; fout << calc_jumps(s, e) << endl; } fout.close(); fin.close(); return 0; }