1046. Shortest Distance (20)

来源:互联网 发布:淘宝充话费可以退款吗 编辑:程序博客网 时间:2024/05/22 09:03

点击打开链接

最后一个超时

#include <cstdio>#define MAX 100100int dis[MAX];int n;int main(){freopen("in.txt","r",stdin);scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&dis[i]);}int m;scanf("%d",&m);for(int j=0;j<m;j++){int a,b;scanf("%d %d",&a,&b);a--;b--;int sp=0,ps=0;int i=a%n;while(1){if(i%n==b){break;} sp+=dis[i++];}i=a%n;while(1){i=(i+n-1)%n;ps+=dis[i];if(i%n==b){break;}}i=ps<sp?ps:sp;printf("%d\n",i);}return 0;}


0 0