#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
int main()
{
int n;
scanf_s("%d", &n);
int length[100500];
int result = 0;
int final[10050];
for (int i = 0; i < n; i++)
{
int temp;
scanf_s("%d", &temp);
result += temp;
length[i+1] = result;
}
length[0] = 0;
int m;
scanf_s("%d", &m);
for (int i = 0; i < m; i++)
{
int start, end,p;
p = 0;
scanf_s("%d %d", &start, &end);
if (start > end) std::swap(start, end);
p = length[end-1]-length[start-1];
p < (result - p) ? final[i] = p : final[i] = result - p;
}
for (int i = 0; i < m; i++)
{
printf("%d\n", final[i]);
}
return 0;
}
#include<string.h>
#include<iostream>
#include<algorithm>
int main()
{
int n;
scanf_s("%d", &n);
int length[100500];
int result = 0;
int final[10050];
for (int i = 0; i < n; i++)
{
int temp;
scanf_s("%d", &temp);
result += temp;
length[i+1] = result;
}
length[0] = 0;
int m;
scanf_s("%d", &m);
for (int i = 0; i < m; i++)
{
int start, end,p;
p = 0;
scanf_s("%d %d", &start, &end);
if (start > end) std::swap(start, end);
p = length[end-1]-length[start-1];
p < (result - p) ? final[i] = p : final[i] = result - p;
}
for (int i = 0; i < m; i++)
{
printf("%d\n", final[i]);
}
return 0;
}