46

有一点小技巧……

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int N,M,sum=0;
    cin>>N;
    vector<int>dist(N+1);
    for(int i=1;i<=N;i++)
    {
        int tmp;
        cin>>tmp;
        dist[i]=sum;
        sum+=tmp;
    }
    cin>>M;
    for(int i=0;i<M;i++)
    {
        int num1,num2,d1=0,d2=0;
        cin>>num1>>num2;
        if(num1>num2)swap(num1,num2);
        d1=dist[num2]-dist[num1];
        d2=sum-d1;
        cout<<(d1>d2?d2:d1)<<endl;
    }
}
原文地址:https://www.cnblogs.com/KRCheung/p/6659850.html