POJ 1456 Supermarket
題目概述:
給n個物品,每個物品有它的價值跟他賣出的deadline,每日只能賣出一樣東西,求賣出總合最大值。
思路:
從最後的期限一個時間一個時間貪心的賣出最大價值的東西。
POJ 不能用#include<bits/stdc++.h> QQ
AC code:
//By SCJ
#include<iostream>
#include<queue>
using namespace std;
#define endl '\n'
vector<int> v[10001];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n;
while(cin>>n)
{
for(int i=1;i<=n;++i)
{
int a,b;cin>>a>>b;
v[b].push_back(a);
}
priority_queue<int> pq;
int ans=0;
for(int i=10000;i>=1;--i)
{
for(int k=0;k<v[i].size();++k) pq.push(v[i][k]);
if(pq.size()){ans+=pq.top();pq.pop();}
v[i].clear();
}
cout<<ans<<endl;
}
}
沒有留言:
張貼留言