题目链接:这里
题意:有一个boss有hp点血,然后每秒钟回复reg。现在你有n个魔法,每个魔法只能在BOSS的血量大于p[i]%的时候使用,会给boss挂上一个每秒钟掉d[i]的buff。现在问你你怎么使用这个魔法,才能让boss死的最快。
解法:贪心,每一秒钟使用最厉害的技能就好了…… 然后直接暴力莽一波

//CF 37B

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
vector <pair<int, int> > ans;
int b[maxn], c[maxn], vis[maxn];

int main(){
    int n, hp, reg;
    scanf("%d%d%d", &n, &hp, &reg);
    for(int i = 0; i < n; i++) scanf("%d%d", &b[i], &c[i]);
    int cur = hp, dmg = 0, t = 0, flag = 0;
    while(cur > 0){
        cur -= dmg;
        cur += reg;
        cur = min(cur, hp);
        if(cur <= 0) break;
        int pos = -1;
        for(int i = 0; i < n; i++){
            if(!vis[i] && b[i]*hp >= 100*cur){
                if(pos == -1 || c[i] > c[pos]){
                    pos = i;
                }
            }
        }
        if(pos != -1){
            vis[pos] = 1;
            dmg += c[pos];
            ans.push_back(make_pair(t, pos+1));
        }
        else{
            if(cur == hp){
                flag = 1;
                break;
            }
        }
        ++t;
    }
    if(flag) return puts("NO"), 0;
    else{
        puts("YES");
        printf("%d %d\n", t, ans.size());
        for(int i = 0; i < ans.size(); i++){
            cout << ans[i].first << " " << ans[i].second << endl;
        }
    }
    return 0;
}