当前位置: 首页 > news >正文

MC0351区间询问和

码蹄集OJ-区间询问和

MC0351・区间询问和
难度:黄金 时间限制:1 秒 占用内存:64 M 收藏 报错
有 n 个数字,为 a [1]…a [n]。
再来 q 个询问,每个询问包含两个数字 L,r,表示询问∑i=Lr​{a[i]}
小码哥可以重新排列给出的 a 数组,使这 q 组询问所得结果之和最大,输出这个最大值。
格式
输入格式:第一行输入 n 和 q;
第二行输入 n 个数字,第 i 个数字为ai​;
接下来 q 行,每组询问占一行,包含两个数li​,ri​。
输出格式:一个数,即上述答案。
样例 1
输入:

3 3
5 3 2
1 2
2 3
1 3


输出:25

代码:
 

#include<bits/stdc++.h> 
using namespace std;
const int N = 2e5+10;
int a[N],dif[N],ori[N];
long long ans = 0;
bool compare(const int & a,const int &b)
{return a > b;
}
int main( )
{int n,q;cin >> n >> q;for(int i = 1 ; i <= n ; i++)cin >> a[i];while(q--){int l,r;cin >> l >> r;dif[l] += 1;if(r + 1 <= n)dif[r + 1] -= 1;}sort(a + 1,a + 1 + n,compare);//原数组降序for(int i = 1 ; i <= n ; i++){ori[i] = ori[i-1] + dif[i];}sort(ori + 1,ori + 1 + n,compare);//查询数组降序for(int i = 1 ; i <= n ; i++){ans += a[i] * ori[i];} cout << ans;return 0;
}

http://www.dtcms.com/a/311927.html

相关文章:

  • MybatisPlus-自动生成代码
  • 【走遍美国精讲笔记】第 1 课:林登大街 46 号
  • 深入 Go 底层原理(四):GMP 模型深度解析
  • 编译器与解释器:核心原理与工程实践
  • Linux I/O 系统调用完整对比分析
  • linux source命令使用详细介绍
  • [qt]QTreeWidget使用
  • JAVA国际版同城服务同城信息同城任务发布平台APP源码Android + IOS
  • 【设计模式】 原则
  • AI驱动SEO关键词智能进化
  • 具身智能VLA困于“数据泥潭”,人类活动视频数据是否是“破局之钥”?
  • 【Python修仙编程】(二) Python3灵源初探(10)
  • Spring 全局异常处理机制:多个 @ControllerAdvice 与重复 @ExceptionHandler
  • CMake 命令行参数完全指南 (1)
  • 数据结构1-概要、单向链表
  • JVM中的垃圾回收暂停是什么,为什么会出现暂停,不同的垃圾回收机制暂停对比
  • 知识随记-----用 Qt 打造优雅的密码输入框:添加右侧眼睛图标切换显示
  • Ubuntu系统间SSH控制详细指南
  • 由浅入深使用LangGraph创建一个Agent工作流
  • 零拷贝技术:高效数据传输的核心原理与应用
  • 用 JavaSwing 开发经典横版射击游戏:从 0 到 1 实现简易 Contra-like 游戏
  • 20250801-2-Kubernetes 存储-节点本地数据卷_笔记
  • IMAP电子邮件归档系统Mail-Archiver
  • UE5 Insight ProfileCPU
  • 自动驾驶嵌入式软件工程师面试题【持续更新】
  • 回归预测 | Matlab实现CNN-LSTM-self-Attention多变量回归预测
  • Java中的字符串 - String 类
  • 编程与数学 03-002 计算机网络 19_网络新技术研究
  • Java试题-选择题(6)
  • 苏州银行招苏新基金研究部研究员