题干:

H市有一环线地铁,一共包含N站,编号1~N。正向行驶的地铁会按1 -> 2 -> 3 -> ... -> N -> 1的方向行驶,反向会按1 -> N -> N-1 -> ... -> 3 -> 2 -> 1的方向行驶。

给定所有相邻两站之间地铁行驶的时间(正向、反向时间相同),假设小Hi要从第X站到第Y站,请你判断是小Hi是乘坐正向还是反向的列车用时更少?

Input

第一行包含两个整数N和M,分别代表地铁站数目和询问的次数。

第二行包含N个整数A1, A2, ... AN,其中Ai代表从第i站正向行驶到下一站所用的时间。

以下M行每行包含两个整数X和Y,代表一个询问。

1 ≤ N, M ≤ 100000  1 ≤ X, Y ≤ N  1 ≤ Ai ≤ 100000

Output

对于每组询问,输出一个整数表示最短时间。

Sample Input

5 2
1 2 3 4 5
1 3
1 5

Sample Output

3
5

解题报告:

相当于一个循环队列就可以了、、、

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
ll a[MAX];
ll sum[MAX];
int main()
{int n,m;cin>>n>>m;for(int i = 1; i<=n; i++) scanf("%lld",a+i),sum[i] = sum[i-1] + a[i]; while(m--) {int l,r;scanf("%d%d",&l,&r);if(r < l) swap(l,r);ll tmp1 = sum[r-1] - sum[l-1];ll tmp2 = sum[n] - sum[r-1] + sum[l-1];printf("%lld\n",min(tmp1,tmp2));}return 0 ;}

【HihoCoder - 1880】地铁环线 (前缀和,水题,模拟)相关推荐

  1. 杭电acm 1880魔咒词典(水题)

    魔咒词典 Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 【HDU - 1870】愚人节的礼物(水题模拟 思想类似于栈?)

    题干: 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒子里面可以再放零个或者多个盒子 ...

  3. HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题

    分析:就是判断简单的前缀有没有相同,注意下自身是m的倍数,以及vis[0]=true; #include <cstdio> #include <cstdlib> #includ ...

  4. HDU-5327 Olympiad (前缀和水题)

    题目链接:Problem - 5327 (hdu.edu.cn) 题目: 题目样例: 题目思路: 每次的范围去暴力会超时,采取用前缀和来进行预处理,再进行查询. AC: #include<bit ...

  5. CDOJ 763 树上的鸟儿(水题/模拟题)

    树上的鸟儿 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) 作为电子科大的一员, ...

  6. 【HDU - 2398 】Savings Account (水题模拟)

    题干: Suppose you open a savings account with a certain initial balance. You will not make any withdra ...

  7. *【CodeForces - 574A】Bear and Elections (优先队列,水题模拟)

    题干: Limak is a grizzly bear who desires power and adoration. He wants to win in upcoming elections a ...

  8. HDU1555 How many days?【水题+模拟】

    How many days? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  9. 【CodeForces - 334B】Eight Point Sets(水题模拟,有坑)

    题干: Gerald is very particular to eight point sets. He thinks that any decent eight point set must co ...

  10. 【HDU - 1702 】ACboy needs your help again! (栈和队列,水题模拟)

    题干: ACboy was kidnapped!!  he miss his mother very much and is very scare now.You can't image how da ...

最新文章

  1. Mysql锁专题:InnoDB锁概述
  2. 比较严谨的java验证18位身份证号码
  3. springboot集成swagger2构建RESTful API文档
  4. JetBrains WebStorm 快捷键失效
  5. netsh winsock reset什么意思_商丘耐火砖什么意思,刹车片_马达加斯加嘎瓦石墨公司...
  6. 缓冲区溢出漏洞攻击演示实验(CProxy 6.2缓冲区溢出漏洞)
  7. Windows导出所有计划任务方法
  8. Spring Boot : 自定义 Starter
  9. 常用代码块:java使用系统浏览器打开url
  10. 【ER网络?BA网络?WS网络?NW网络?】复杂网络分析+数据集+代码实现
  11. Dubbo视频教程《基于Dubbo的分布式系统架构视频教程》--课程列表
  12. 天勤数据结构高分笔记二叉排序树的实现
  13. 时间序列数据如何插补缺失值?
  14. 【抖音视频去水印小程序开源】mosousuo—微信小程序下载抖音去水印视频
  15. faker 无敌了,专注于制作假数据
  16. 热心肠行为?苹果“偷偷“给应用买广告
  17. 微信小程序物流快递状态时间轴
  18. 快速搭建仓储管理系统
  19. 输出图片任意点的像素坐标
  20. python打印九九乘法表到文件_99乘法表打印_python怎么打印九九乘法表

热门文章

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第20篇]Merkle-Damgaard hash函数如何构造
  2. [Leetcode][第415题][JAVA][字符串相加][双指针]
  3. [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
  4. 计算机二级1605错误,word 出现windows installer 1605错误
  5. 组个最小数C语言pta,PTA|C语言:组个最小数
  6. 简述oracle的主要数据库对象,Oracle数据库数据对象分析
  7. 两相流计算中,如何用Tecplot提取水相断面平均物理量?
  8. java vbs_VBS基础篇 - vbscript Dictionary对象
  9. 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷
  10. ZDB5202烧成控制器方法