#include <stdio.h>
#include <malloc.h>
int abs(int x, int y)
{
return x > y ? x-y : y-x;
}
int main()
{
int n, m, a, b;
while(scanf("%d", &n) != EOF)
{
int sum = 0;
int *list = (int *)malloc(sizeof(int)*n);
int *count = (int *)malloc(sizeof(int)*n);
for(int i = 0; i < n; i++)
{
scanf("%d", &list[i]);
count[i] = sum;
sum += list[i];
}
scanf("%d", &m);
for(int i = 0; i < m; i++)
{
scanf("%d %d", &a, &b);
int dis = abs(count[a-1], count[b-1]);
int ans = dis > sum - dis ? sum-dis : dis;
printf("%d\n", ans);
}
}
return 0;
}
PAT--1046 Shortest Distance
最新推荐文章于 2021-07-30 16:07:39 发布