码迷,mamicode.com
首页 > 其他好文 > 详细

【PAT甲级】1046 Shortest Distance (20 分)

时间:2019-09-29 09:48:34      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:spec   efi   time   ret   str   define   输入   wap   return   

题意:

输入一个正整数N(<=1e5),代表出口的数量,接下来输入N个正整数表示当前出口到下一个出口的距离。接着输入一个正整数M(<=10000),代表询问的次数,每次询问输入两个出口的序号,输出他们之间的最小距离。

代码:

#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int dis[100007],sum[100007];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for(int i=1;i<=n;++i){
cin>>dis[i];
sum[i]=sum[i-1]+dis[i];
}
int q;
cin>>q;
for(int i=1;i<=q;++i){
int u,v;
cin>>u>>v;
if(v<u)
swap(u,v);
int x=sum[v-1]-sum[u-1];
int y=sum[n]-x;
cout<<min(x,y)<<"\n";
}
return 0;
}

【PAT甲级】1046 Shortest Distance (20 分)

标签:spec   efi   time   ret   str   define   输入   wap   return   

原文地址:https://www.cnblogs.com/ldudxy/p/11605845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!