#include <bits/stdc++.h>
using namespace std;
#define manx 100005
#define ll long long
priority_queue<int> h;
ll ans=0;
struct node
{
int capacity,price;
bool operator<(const node& y)const{
return capacity<y.capacity;
}
};
node Car[manx];
int student[manx],n,m;
int main(){
ios::sync_with_stdio(false);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&student[i]);
for(int i=1;i<=m;i++)
scanf("%d%d",&Car[i].capacity,&Car[i].price);
sort(student+1,student+n+1);
sort(Car+1,Car+1+m);
int i,j;
for(i=n,j=m;i;i--){
for(;Car[j].capacity>=student[i];j--)
h.push(-Car[j].price);
if(h.empty()){
puts("-1");
return 0;
}
ans-=h.top();
h.pop();
}
cout<<ans<<endl;
return 0;
}
Wannaflt15-A
最新推荐文章于 2019-12-11 23:23:41 发布