第二个测试点RE掉了
查看原帖
第二个测试点RE掉了
1032267
GCSG01楼主2024/1/27 15:10
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5;
struct node{
	int b,c;
}s[N];
int a[N];
bool cmp(node x,node y)
{
	if(x.c!=y.c)return x.c>y.c;
	else return x.b>y.b;
}
signed main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+n+1);
	for(int i=1;i<=m;i++)
		cin>>s[i].b>>s[i].c;
	sort(s+1,s+m+1,cmp);
	int ans=0,cnt=1;
	for(int i=1;i<=n;i++)
	{
		while(!s[cnt].b)cnt++; 
		s[cnt].b--;
		ans=ans+max(a[i],s[cnt].c);
	}
	cout<<ans;
	return 0;
}
2024/1/27 15:10
加载中...