Kuriyama Mirai's Stones

CodeForces - 433B

有n颗宝石,每个宝石都有自己的价值。

然后m次询问。问区间[i,j]的宝石的总值,或者问排序后的区间[i,j]的总值。

Input第一行输入一个n(1 <= n <=10^5),表示n个宝石

第二行n个数,v1, v2, ..., vn (1 ≤ vi ≤ 10^9) ,表示每个宝石的价值

第三行输入询问次数m(1≤m≤10^5)。

然后m行,每行包含三个整数类型,type、l和r( 1 ≤ l ≤ r ≤n;1 ≤ type≤ 2)

描述一个问题。如果类型等于1,则应输出原序列的答案,

否则应输出排序后的答案。

Output打印M行。每行必须包含一个整数-对Kuriyama Mirai问题的答案。按输入顺序打印问题的答案。

Examples

Input
6
6 4 2 7 2 7
3
2 3 6
1 3 4
1 1 6
Output
24
9
28
Input
4
5 5 2 3
10
1 2 4
2 1 4
1 1 1
2 1 4
2 1 2
1 1 1
1 3 3
1 1 3
1 4 4
1 2 2
Output
10
15
5
15
5
5
2
12
3
5 sol:大水题,维护两串前缀和即可
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,Q;
ll a[N],b[N];
ll Qzha[N],Qzhb[N];
int main()
{
int i;
R(n);
for(i=;i<=n;i++) a[i]=b[i]=read();
for(i=;i<=n;i++) Qzha[i]=Qzha[i-]+a[i];
sort(b+,b+n+);
for(i=;i<=n;i++) Qzhb[i]=Qzhb[i-]+b[i];
R(Q);
while(Q--)
{
int opt=read(),l=read(),r=read();
switch (opt)
{
case :
Wl(Qzha[r]-Qzha[l-]);
break;
case :
Wl(Qzhb[r]-Qzhb[l-]);
break;
}
}
return ;
}
/*
input
4
5 5 2 3
10
1 2 4
2 1 4
1 1 1
2 1 4
2 1 2
1 1 1
1 3 3
1 1 3
1 4 4
1 2 2
output
10
15
5
15
5
5
2
12
3
5
*/
 

codeforces433B的更多相关文章

随机推荐

  1. c# 打印 主板信息CPU信息

    Win32_Processor CPU 参数说明: AddressWidth --在32位操作系统,该值是32,在64位操作系统是64.Architecture --所使用的平台的处理器架构.Asse ...

  2. [翻译] 如何在 ASP.Net Core 中使用 Consul 来存储配置

    [翻译] 如何在 ASP.Net Core 中使用 Consul 来存储配置 原文: USING CONSUL FOR STORING THE CONFIGURATION IN ASP.NET COR ...

  3. JVM总括三-字节码、字节码指令、JIT编译执行

    JVM总括三-字节码.字节码指令.JIT编译执行 目录:JVM总括:目录 java文件编译后的class文件,java跨平台的中间层,JVM通过对字节码的解释执行(执行模式,还有JIT编译执行,下面讲 ...

  4. Windows Community Toolkit 3.0 - CameraPreview

    概述 Windows Community Toolkit 3.0 于 2018 年 6 月 2 日 Release,同时正式更名为 Windows Community Toolkit,原名为 UWP ...

  5. 移动H5页面微信支付踩坑之旅(微信支付、单页面路由模拟、按钮加锁、轮询等常见功能)

    开发背景: .net混合开发的vue模板语法的单页面应用,所以不存在脚手架以及没有路由可以跳转. 项目描述: 需要写两个页面,在订单详情页需要点击“请输入手机号”进入手机号绑定页面,手机号绑定成功后自 ...

  6. Python_老男孩练习题1

    get有陷阱:value   5.以下打印的内容是:——————    ——————    —————— [10, 'a'] [123] [10, 'a'] #方法一: 将list 转为 set #l ...

  7. 泛函p121可分Hilbert空间都同构于l^2

    如何理解最后面两句话, L^2与l^2同构 L^2里面 有理系数多项式 是可数稠密子集 所以L^2可分 可分Hilbert空间都同构于 l^2 傅里叶级数是一个稠密的子集

  8. Java面试题详解三:比较器

    一,Comparable和Comparator1.Comparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较.Comparable接口中只有一 ...

  9. ssh无密码登录多台机器,并让所有远程机执行相同命令

    问题集锦 其实标题的内容就是很常见的集群操作,当有一个脚本或者一个命令需要很多个机器同时(或者说接近同时)执行时,就涉及到几个问题: 怎么通知每个主机? 每个主机收到通知后,怎么让主机执行命令? 怎么 ...

  10. PAT L2-020 功夫传人

    https://pintia.cn/problem-sets/994805046380707840/problems/994805059118809088 一门武功能否传承久远并被发扬光大,是要看缘分 ...