码迷,mamicode.com
首页 > 其他好文 > 详细

[河南省ACM省赛-第三届] BUYING FEED (nyoj 248)

时间:2015-04-01 21:41:21      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 352
/*
    重量*单价+重量*距离 = 重量*(距离+单价) 预处理单价 
    贪心:优先买价格低的
*/
struct Node {
    int p;// p = (单价+距离) 
    int w;
}c[N];

bool cmp(Node a, Node b)
{
    return a.p != b.p ? a.p < b.p : a.w > b.w;
}

int main()
{
    freopen("d:\\in.txt", "r", stdin);
    int t;
    int K, E, n; 
    scanf("%d", &t);
    while(t--) {
        scanf("%d%d%d", &K, &E, &n);
        int a, b;
        for(int i=0; i<n; i++){
            scanf("%d%d%d", &a, &c[i].w, &b);
            c[i].p = E-a+b; 
        } 
        sort(c, c+n, cmp);
        int res = 0, totw = 0;
        for(int i=0; i<n; i++){
            if(totw >= K) break;
            if(totw+c[i].w > K)
                res += c[i].p*(K-totw);
            else
                res += c[i].p*c[i].w;
            totw += c[i].w;
        }
        printf("%d\n", res);
    } 
    return 0;
}

[河南省ACM省赛-第三届] BUYING FEED (nyoj 248)

标签:

原文地址:http://www.cnblogs.com/vegg117/p/4385320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!