AtcoderD - Integer Cards 贪心
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AtcoderD - Integer Cards 贪心相关的知识,希望对你有一定的参考价值。
狂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 贪心的主要内容,如果未能解决你的问题,请参考以下文章