AtcoderD - Integer Cards 贪心

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AtcoderD - Integer Cards 贪心相关的知识,希望对你有一定的参考价值。

D

狂WA巨多发,不知道为什么。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define pb push_back
#define fi first
#define se second
#define mem(a,x) memset(a,x,sizeof(a));
#define db double 

//======================
const int N=1e5+10;
ll a[N];
struct node
{
	ll b,c;
}nodes[N];
int n,m;
bool cmp(node a,node b)
{
	return a.c>b.c;
}
ll ans=0;
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++) 
	{
		cin>>a[i];
		ans+=a[i];
	}
	for(int i=0;i<m;i++) cin>>nodes[i].b>>nodes[i].c;
	sort(a,a+n);
	sort(nodes,nodes+m,cmp);
	
	int t=0;
	int j=0;
	for(int i=0;i<n;i++)
	{
		if(a[i]>=nodes[j].c) break;
		else 
		{
			if(nodes[j].b)
			{
				nodes[j].b--;
				ans+=(nodes[j].c-a[i]);
			}
			if(!nodes[j].b) j++;
			if(j==m) break;
		}
	}
	cout<<ans;
	return 0; 
}

以上是关于AtcoderD - Integer Cards 贪心的主要内容,如果未能解决你的问题,请参考以下文章

AtCoderD - Cooking 动态规划

list采坑记录一下

AtCoderD - Querying Multiset 优先队列

AtCoderD - Coprime 2 欧拉筛

AtCoderD - Collision bfs+预处理

AtCoderD - Kth Excluded 差分+思维