A Good Game

维护前缀和,排序

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define maxn 100004
ll sum[maxn];
vector<ll>v;
int main()
{
int t;
int n,m;
scanf("%d",&t);
while(t--){ scanf("%d%d",&n,&m);
ll t;
v.clear();
for(int i=;i<=n;i++){
scanf("%lld",&t);
sum[i]=sum[i-]+t;
}
int a,b;
for(int i=;i<=m;i++){
scanf("%d%d",&a,&b);
v.push_back(sum[b]-sum[a-]);
}
sort(v.begin(),v.end());
ll ans=;
for(int i=;i<m;i++){
ans+=(i+)*v[i];
}
cout<<ans<<'\n';
}
}

随机推荐

  1. Week 12 - 673.Number of Longest Increasing Subsequence

    Week 12 - 673.Number of Longest Increasing Subsequence Given an unsorted array of integers, find the ...

  2. linux 软连接的使用

    软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接. 具体用法是:ln -s 源文件 目标文件. 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需 ...

  3. java配置详解

    JAVA_HOMED:\JavaTools\Java\jdk1.7.0_80\ D:\JavaEnvironment\Java\jdk1.7.0_71D:\JavaEnvironment\Java\j ...

  4. redis集群主从中断,报io过高 不错

    问题原因:1.由于这个集群redis操作非常频繁,1分钟操作数据达到1-2G,所有自动aof非常频繁,主从复制打包rdb也非常频繁,之前配置已经无法满足要求报异常如下6943:M 19 Jul 20: ...

  5. vue组件的watch属性

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Vue.js 注册组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. vue-router路由详细

      由于Vue在开发时对路由支持的不足,于是官方补充了vue-router插件.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现 ...

  8. 21次C++作业

    //第一题目 class A //A为基类 {public: void f1( ); int i; protected: void f2(); int j; private: int k; }; /* ...

  9. PyTorch笔记之 squeeze() 和 unsqueeze()

    1.squeeze() 函数 squeeze() 用来去掉向量的一个维度,只有维度为 1 的那一维才能去掉 example: 初始化1个向量shape为(1,2,3)的向量 import torch ...

  10. 本地SVN服务器的搭建(WINDOWS环境)

    1.下载安装 VISUALSVN SERVER 1.1下载地址:https://www.visualsvn.com/server/download/ 1.2下载完成后,双击安装. 2.下载安装 Tor ...