【HihoCoder - 1880】地铁环线 (前缀和,水题,模拟)
题干:
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】地铁环线 (前缀和,水题,模拟)相关推荐
- 杭电acm 1880魔咒词典(水题)
魔咒词典 Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 【HDU - 1870】愚人节的礼物(水题模拟 思想类似于栈?)
题干: 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒子里面可以再放零个或者多个盒子 ...
- HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题
分析:就是判断简单的前缀有没有相同,注意下自身是m的倍数,以及vis[0]=true; #include <cstdio> #include <cstdlib> #includ ...
- HDU-5327 Olympiad (前缀和水题)
题目链接:Problem - 5327 (hdu.edu.cn) 题目: 题目样例: 题目思路: 每次的范围去暴力会超时,采取用前缀和来进行预处理,再进行查询. AC: #include<bit ...
- CDOJ 763 树上的鸟儿(水题/模拟题)
树上的鸟儿 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) 作为电子科大的一员, ...
- 【HDU - 2398 】Savings Account (水题模拟)
题干: Suppose you open a savings account with a certain initial balance. You will not make any withdra ...
- *【CodeForces - 574A】Bear and Elections (优先队列,水题模拟)
题干: Limak is a grizzly bear who desires power and adoration. He wants to win in upcoming elections a ...
- HDU1555 How many days?【水题+模拟】
How many days? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 【CodeForces - 334B】Eight Point Sets(水题模拟,有坑)
题干: Gerald is very particular to eight point sets. He thinks that any decent eight point set must co ...
- 【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 ...
最新文章
- Mysql锁专题:InnoDB锁概述
- 比较严谨的java验证18位身份证号码
- springboot集成swagger2构建RESTful API文档
- JetBrains WebStorm 快捷键失效
- netsh winsock reset什么意思_商丘耐火砖什么意思,刹车片_马达加斯加嘎瓦石墨公司...
- 缓冲区溢出漏洞攻击演示实验(CProxy 6.2缓冲区溢出漏洞)
- Windows导出所有计划任务方法
- Spring Boot : 自定义 Starter
- 常用代码块:java使用系统浏览器打开url
- 【ER网络?BA网络?WS网络?NW网络?】复杂网络分析+数据集+代码实现
- Dubbo视频教程《基于Dubbo的分布式系统架构视频教程》--课程列表
- 天勤数据结构高分笔记二叉排序树的实现
- 时间序列数据如何插补缺失值?
- 【抖音视频去水印小程序开源】mosousuo—微信小程序下载抖音去水印视频
- faker 无敌了,专注于制作假数据
- 热心肠行为?苹果“偷偷“给应用买广告
- 微信小程序物流快递状态时间轴
- 快速搭建仓储管理系统
- 输出图片任意点的像素坐标
- python打印九九乘法表到文件_99乘法表打印_python怎么打印九九乘法表
热门文章
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第20篇]Merkle-Damgaard hash函数如何构造
- [Leetcode][第415题][JAVA][字符串相加][双指针]
- [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
- 计算机二级1605错误,word 出现windows installer 1605错误
- 组个最小数C语言pta,PTA|C语言:组个最小数
- 简述oracle的主要数据库对象,Oracle数据库数据对象分析
- 两相流计算中,如何用Tecplot提取水相断面平均物理量?
- java vbs_VBS基础篇 - vbscript Dictionary对象
- 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷
- ZDB5202烧成控制器方法