[Usaco2010 Feb]Chocolate Buying

5 50
5 3
1 1
10 4
7 2
60 1

8

分析:这就是个简单贪心。

#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <map>
#define range(i,a,b) for(int i=a;i<=b;++i)
#define LL long long
#define rerange(i,a,b) for(int i=a;i>=b;--i)
#define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
using namespace std;
pair<LL,LL>fuck[100005];
int n,m;
LL ans;
bool cmp(pair<LL,LL>a,pair<LL,LL>b){
    return a.first<b.first;
}
void init() {
    cin>>n>>m;
    range(i,1,n)cin>>fuck[i].first>>fuck[i].second;
    sort(fuck+1,fuck+1+n,cmp);
}
void solve(){
    range(i,1,n){
        LL MIN=min(m/fuck[i].first,fuck[i].second);
        ans+=MIN;m-=MIN*fuck[i].first;
    }
    cout<<ans<<endl;
}
int main() {
    init();
    solve();
    return 0;
}
View Code

 

posted @ 2018-07-19 00:29  RhythmLian  阅读(292)  评论(0编辑  收藏  举报