有一点小技巧……
#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; } }