UMR与欧尼酱

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

Umaru 今天看到新发售的游戏之后,又耐不住要马上买来惹,然而众所周知 UMR 是干物女,所以她又去烦她的欧尼酱啦,欧尼酱真是拿小埋没办法 (¬_¬),所以只好做出了妥协。
欧尼酱告诉她,我现在给你 N 个数,标号 1 到 N,然后我会进行 M 次询问,对于每次询问我会告诉你一个区间 L,R(L <= R),你只要能在规定的时间内告诉我从第 L 个数到第 R 个数之间所有数的和,我就去给你买╮(╯_╰)╭。


(小埋:欧尼酱真当我是一个干物女啊)

大家都知道小埋智商超高,你觉得小埋是怎么做的呢,答对了小埋就会送你一个 AC 哦~

Input

输入数据有多组(数据组数不超过 20),到 EOF 结束。
每组输入包含 M+2 行,第一行为两个正整数 N 和 M (1 <= N, M <= 100000)。 
接下来一行 N 个非负整数,每个数不超过 100。
接下来 M 行,每行包含两个数 L, R (1 <= L <= R <= N)。

Output

对于每次询问,给出区间 L~R 的所有整数的和,每个答案占一行。

Example Input

5 4
1 2 3 4 5
1 2
2 2
1 5
4 5

Example Output

3
2
15
9

Hint

Author

「2016级ACM集训队第一次选拔赛」UMR
解法一:(但是这种方法超时,气死爹了)

#include <stdlib.h>
#include <stdio.h>
 int a[100005];
int main()
{
    int n,m,i,x,y,sum;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        for(i=1; i<=n; i++)
        {
            scanf("%lld",&a[i]);
        }
        while(m--)
        {
            sum=0;
            scanf("%d%d",&x,&y);
            for(i=x; i<=y; i++)
                sum=sum+a[i];
            printf("%d\n",sum);
        }
    }
    return 0;
}

解法二:这种方法不得不佩服

#include <stdio.h>
int a[100000+5]={};
int n,m;
int main()
{
    int i;
    while(~scanf("%d%d",&n,&m))
    {
        for(i=1;i<=n;++i)
        {
            scanf("%d",&a[i]);
            a[i]+=a[i-1];//一输进来,就用数组存起来
        }
        int l,r;
        while(m--)
        {
            scanf("%d%d",&l,&r);
            printf("%d\n",a[r]-a[l-1]);
        }
    }
    return 0;
}
//从整体上观摩 a[r]-a[l-1];

UMR与欧尼酱 区间相加问题相关推荐

  1. 欧尼酱讲JVM(01)——整体概览(导航)

    从业这么久了,输入了很多东西,趁我还算不老,趁我还有精力,我觉得把我的知识和经验整理一番,输出出来. 那么首先就从JVM开始吧.我将从以下几个方面讲解JVM: 欧尼酱讲JVM(02)--类的加载过程 ...

  2. 欧尼酱讲JVM(22)——分代收集算法

    目录 分代收集算法 HotSpot中的分代收集 年轻代 老年代 没有一种最好的算法吗?没有,没有最好只有最适合.具体问题具体分析! 上一篇文章<欧尼酱讲JVM(21)--垃圾回收相关算法> ...

  3. java的标量和聚合量_欧尼酱讲JVM(16)——如何基于逃逸分析进行代码优化

    代码优化是一个涉及面很广的"工程",但是今天呢,本姑娘主要给大家分享基于逃逸分析,如何给代码做优化.那么逃逸分析是什么呢?我前面的文章也仔细的讲解过了,这里就不过多的赘述了.有不明 ...

  4. 欧尼酱讲JVM(17)——方法区详解有图有真相

    目录 位置图解 方法区的理解 方法区在哪里 方法区的基本理解 HotSpot中方法区的理解(演进过程) 方法区的内部结构 图解方法区内部结构 运行时常量池 class文件中常量池的理解 为什么需要常量 ...

  5. 欧尼酱讲JVM(23)——垃圾收集器

    目录 GC性能指标整体说明 评估GC性能指标 不可能三角 吞吐量与暂停时间的对比说明 吞吐量VS暂停时间 垃圾收集器发展史 垃圾收集器分类 按碎片处理方式 按工作的内存区间分 不同垃圾收集器详解 Se ...

  6. 欧尼酱讲JVM(20)——了解垃圾回收

    目录 垃圾回收相关 什么是垃圾 什么是GC 关于垃圾收集的三个经典问题 为什么需要GC 了解早期垃圾回收行为 Java的垃圾回收机制 担忧 应该关心哪些区域的回收 写在最后 垃圾回收相关 什么是垃圾 ...

  7. 欧尼酱讲JVM(18)——对象实例化内存布局与访问定位

    目录 对象的实例化 创建对象的几种方式 从字节码角度看对象的创建过程 对象创建的六个步骤 第一步:判断对象对应的类是否加载.链接.初始化 第二步:为这个对象分配内存 第三步:处理并发安全问题 第四步: ...

  8. 欧尼酱讲JVM(08)——字节码中方法内部结构的剖析

    用到的工具--Jclasslib IDEA提供了插件,很方便. 首先 先看一段代码: public class LocalVariablesTest {private int count = 0;pu ...

  9. 欧尼酱讲JVM(14)——堆

    目录 位置图解 堆的简介 堆空间中关于对象创建和GC 堆的细分内存结构 堆空间大小设置和查看 查看设置的参数 OOM异常说明与举例 新生代与老年代相关参数设置 图解对象分配的一般过程 对象分配过程概述 ...

最新文章

  1. java锁的有哪些_「并发编程」Java锁分类和特点有哪些
  2. Centos6.5安装python2.7与pip
  3. 【java】在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException...
  4. edp 基于node.js和npm的前端开发平台
  5. 图解Oracle 12c 触发器实例
  6. Python之web开发(四):python使用django框架搭建网站之主页搭建
  7. 用Elm语言降低失败的风险
  8. UIApplication,UIWindow,UIViewController,UIView(layer)
  9. 小程序-读取视频数据 每个N帧采样保存
  10. JZOJ 3504. 运算符(calc)
  11. Node Sass does not yet support your current environment解决
  12. Redis基础学习(四)—Redis的持久化
  13. CSS设计指南(第3版)
  14. 如何使用VS2012进行简单程序的DEBUG(入门级)
  15. linux 下xhprof的安装和使用
  16. Python经典编程习题100例,供初学者学习
  17. 手机浏览器能上网微信无法连接服务器,手机打不开微信的网页怎么办?手机打不开微信网页的原因和解决方法...
  18. 深度 | 蚂蚁金服DASFAA论文带你深入了解GBDT模型
  19. html 数字大小写转换,数字大小写转化
  20. 《鹰猎长空》讲述戏曲与电影的渊源

热门文章

  1. PS——矢量形状与路径
  2. 菜鸟要飞java_Retrofit2[](更多视频教程关注微信公众号【菜鸟要飞】)等
  3. 【ELT.ZIP】OpenHarmony啃论文俱乐部——综述视角解读压缩编码
  4. dubbo源码学习三—暴露服务exporter、invoker
  5. KingabseES例程-函数和过程的 INVOKER 与 DEFINER
  6. php投票ip限制的二维表,关于投票系统刷票方式原理(突破ip限制刷票PHP版)
  7. 企微提取用户unionid
  8. 新鲜出炉:Zadig v1.2.0 发布
  9. html+javascript登录注册界面源码
  10. 编译原理LR(0)项目集规范族的构造详解