当前位置:   article > 正文

2022河南萌新联赛第(五)场:信息工程大学 H - 小明喝奶茶

2022河南萌新联赛第(五)场:信息工程大学 H - 小明喝奶茶

H - 小明喝奶茶

正解是用一个权值线段树什么的维护一下,取一下第K小值,但是我不会。只能打打暴力,发现数据比较水,也能过,就当练练模拟了。

#include<bits/stdc++.h>
using namespace std;

typedef pair<int,int> PII;
const int N = 100010;

vector<PII> d[N];

signed main()
{
	int n,m,k;cin>>n>>m>>k;
	for(int i=1;i<=m;i++)
	{
		int l,r,c,p;cin>>l>>r>>c>>p;
		for(int j=l;j<=r;j++)
			d[j].push_back({p,c});
	}
	
	for(int i=1;i<=n;i++)
		sort(d[i].begin(),d[i].end());
			
	int res=0;
	for(int i=1;i<=n;i++)
	{
		int p=k;
		for(auto &[a,b]:d[i])
			if(p>=b) res+=a*b,p-=b;
			else 
			{
				res+=a*p;
				break;
			}
	}
	cout<<res;
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/822833
推荐阅读
相关标签
  

闽ICP备14008679号