1046 Shortest Distance (20)

 1 #include<stdio.h>
 2 int main()
 3 {
 4    int n,m,a,b,tem,pre,p;
 5    int i,j;
 6    int ans[100005];
 7    while(scanf("%d",&n)!=EOF)
 8    {
 9        ans[0]=0;
10        for(i=1;i<=n;i++)
11        {
12            scanf("%d",&tem);
13            ans[i]=ans[i-1]+tem;
14        }
15        getchar();
16        scanf("%d",&m);
17        for(i=0;i<m;i++)
18        {
19            getchar();
20            scanf("%d %d",&a,&b);
21            if(a<b) 
22            {
23               pre=a;
24               p=b;
25            }
26            else
27            {
28               p=a;
29               pre=b;
30            }
31 
32            int sum1=ans[p-1]-ans[pre-1];
33            int sum2=ans[pre-1]+ans[n]-ans[p-1];
34 
35            printf("%d\n",sum1<sum2?sum1:sum2);
36        }
37    }
38 
39    return 0;
40 }

 

posted @ 2015-01-31 23:34  小爷  阅读(114)  评论(0编辑  收藏  举报