zoukankan      html  css  js  c++  java
  • CF276 C. Little Girl and Maximum Sum

    题目传送门:https://codeforces.com/problemset/problem/276/C

    题目大意:
    给定一串长度为(n)的序列(A)(m)个询问((l_i,r_i)),记(V_i=sumlimits_{j=l_i}^{r_i}A_j)

    问,在对(A)序列任意排序后,所能得到(sumlimits_{i=1}^mV_i)最大是多少


    统计每个点被询问的次数,将大数尽可能填入询问次数的位置即可

    至于统计次数,就不需要数据结构了,差分即可

    /*program from Wolfycz*/
    #include<map>
    #include<cmath>
    #include<cstdio>
    #include<vector>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define Fi first
    #define Se second
    #define ll_inf 1e18
    #define MK make_pair
    #define sqr(x) ((x)*(x))
    #define pii pair<int,int>
    #define int_inf 0x7f7f7f7f
    using namespace std;
    typedef long long ll;
    typedef unsigned int ui;
    typedef unsigned long long ull;
    inline char gc(){
    	static char buf[1000000],*p1=buf,*p2=buf;
    	return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
    }
    template<typename T>inline T frd(T x){
    	int f=1; char ch=gc();
    	for (;ch<'0'||ch>'9';ch=gc())	if (ch=='-')    f=-1;
    	for (;ch>='0'&&ch<='9';ch=gc())	x=(x<<1)+(x<<3)+ch-'0';
    	return x*f;
    }
    template<typename T>inline T read(T x){
    	int f=1; char ch=getchar();
    	for (;ch<'0'||ch>'9';ch=getchar())	if (ch=='-')	f=-1;
    	for (;ch>='0'&&ch<='9';ch=getchar())	x=(x<<1)+(x<<3)+ch-'0';
    	return x*f;
    }
    inline void print(int x){
    	if (x<0)	putchar('-'),x=-x;
    	if (x>9)	print(x/10);
    	putchar(x%10+'0');
    }
    const int N=2e5;
    int A[N+10],S[N+10];
    int main(){
    //	freopen(".in","r",stdin);
    //	freopen(".out","w",stdout);
    	int n=read(0),m=read(0);
    	for (int i=1;i<=n;i++)	A[i]=read(0);
    	for (int i=1;i<=m;i++){
    		int l=read(0),r=read(0);
    		S[l]++,S[r+1]--;
    	}
    	for (int i=1;i<=n;i++)	S[i]+=S[i-1];
    	sort(A+1,A+1+n);
    	sort(S+1,S+1+n);
    	ll Ans=0;
    	for (int i=1;i<=n;i++)	Ans+=1ll*A[i]*S[i];
    	printf("%lld
    ",Ans);
    	return 0;
    }
    
    作者:Wolfycz
    本文版权归作者和博客园共有,欢迎转载,但必须在文章开头注明原文出处,否则保留追究法律责任的权利
  • 相关阅读:
    数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
    数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
    docker的入门简介
    nginx方向代理详解及配置
    nginx配置文件详解
    nginx安装
    iptables防火墙
    服务器加载过程
    服务器
    操作系统
  • 原文地址:https://www.cnblogs.com/Wolfycz/p/14963496.html
Copyright © 2011-2022 走看看