样例输入

1
2 5 3
3 1 2
4 1 2
1 1 1

样例输出

7

题意:一条数轴上有n个商店,第i个商店在Xi的位置,最多可以卖Fi磅feed,每磅Ci元。一个人从起点0开始,终点为E,当他到达E点时,至少要买K磅feed,带着1磅feed每前进一个单位,就要额外花费1元。求最小花费是多少。

分析:这道题可以用贪心来做。先求出这个人在每个商店买1磅到达E点时的花费,把它作为这个商店的单价,那么我们在买时就不用考虑这个商店与E点的距离,只需要贪心选择单价小的即可。

#include<stdio.h>
#include<algorithm>
using namespace std;

struct store
{
int x;
int f;
int c;
int cc;
}a[105];
bool cmp(store a1,store a2)
{
return a1.cc<a2.cc;
}

int main()
{
int c,sum;
scanf("%d",&c);
while(c--)
{sum=0;
int k,e,n,i;
scanf("%d%d%d",&k,&e,&n);
for(i=0;i<n;i++)
{scanf("%d%d%d",&a[i].x,&a[i].f,&a[i].c);
a[i].cc=a[i].c+e-a[i].x;
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
if(k>a[i].f)
{ sum+=a[i].cc*a[i].f;
k=k-a[i].f;
}
else
{
sum+=k*a[i].cc;
break;
}

}
printf("%d\n",sum);
}
return 0;
}

NYOJ 248 BUYING FEED (贪心)相关推荐

  1. NYOJ 248 BUYING FEED (贪心)

    BUYING FEED 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 Farmer John needs to travel to town to pick up K ...

  2. 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II

    P2616 [USACO10JAN]购买饲料II Buying Feed, II 题目描述 Farmer John needs to travel to town to pick up K (1 &l ...

  3. nyoj248 BUYING FEED

    原题: http://acm.nyist.net/JudgeOnline/problem.php?pid=248 //nyoj 248 //贪心:关键在于把路程的费用也加入到商品的单价中来,然后每次买 ...

  4. bzoj2020[Usaco2010 Jan]Buying Feed, II*

    bzoj2020[Usaco2010 Jan]Buying Feed, II 题意: FJ开车去买食物,如果他的车上有X份食物.每走一里就花费X元. 城市总共E里路,FJ从0开始走,到E结束(不能往回 ...

  5. bzoj2059[Usaco2010 Nov]Buying Feed 购买饲料*

    bzoj2059[Usaco2010 Nov]Buying Feed 购买饲料 题意: 约翰开车来到镇上,他要带K吨饲料回家.如果他的车上有X吨饲料,每公里就要花费X^2元,开车D公里就需要D* X^ ...

  6. 洛谷 P4544 [USACO10NOV]Buying Feed G)(单调队列优化DP)

    题目链接:P4544 [USACO10NOV]Buying Feed G 建议做这题前先做下这题P1886 滑动窗口 /[模板]单调队列 我们可以用dp[i][j]表示当前走到前i个点,已经买了j吨饲 ...

  7. NYOJ 203 三国志(Dijkstra+贪心)

    三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下,地图 ...

  8. [DP/单调队列]BZOJ 2059 [Usaco2010 Nov]Buying Feed 购买饲料

    首先我想吐槽的是题目并没有表明数据范围... 这个题目 DP方程并不难表示. dp[i][j]表示前i个地点携带了j个货物的最小花费 dp[i][j] = dp[i-1][k] + (j-k) * c ...

  9. NYOJ - 找点【贪心】

    找点 时间限制: 2000 ms  |  内存限制: 65535 KB 难度: 2 描述 上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点.但是这几天LYH太忙了, ...

最新文章

  1. Win7下删除FOXMAIL右键发送到选项
  2. Verilog设计实例(6)基于Verilog的各种移位寄存器实现
  3. js获取URL请求参数与改变src
  4. 欢迎进入Node.js世界
  5. 如何用unit test测试controller_如何用电缆故障测试仪冲闪测试确定故障点?
  6. 计算机网络之传输层:5、TCP可靠传输
  7. 大学生创新项目认真投一篇中文核心的坎坷故事
  8. mysql查询m到n条数据库,对查询数据库中第M到N条记录的思考
  9. 写作之法 —— 如何切题与点题
  10. 知网被引第一、第二的论文,都出自这位双一流大学教授
  11. java开发pc端和移动端的区别,移动端和PC端的区别
  12. 知富柜台系统服务器,商业银行柜面无纸化安全解决方案
  13. 垃圾邮件服务器 查询,邮件服务器ip黑名单查询
  14. VC++分析数据包实现SMTP协议分析
  15. 《安富莱嵌入式周报》第285期:电子技术更新换代太快,我要躺平,Linux内核6.1已经并入RUST,一夜161个网站密码遭泄,Matlab精选课件,开源电子书
  16. TCP/IP协议知多少
  17. PO模式实现Appium脚本封装
  18. 李宏毅深度学习_homework01
  19. @InjectMocks
  20. jdk环境变量配置成功只需三步

热门文章

  1. oracle shutdown 卡死,Oracle shutdown immediate无法关闭数据库解决方法
  2. Spring Boot 结合 ECharts 实现霸气、美观、高大上 图表分析
  3. 【转】佛家的133个经典哲理转载 分享该日志 评论 举报
  4. 黎明前20分钟 教程
  5. kettle引用外部脚本完成电话号码清洗、去重缩进
  6. (转)制冷剂可持续发展趋势浅探析
  7. FreeForm和composite中插入子报表的区别
  8. gstreamer应用笔记
  9. 高中数学知识点归纳总结平面向量
  10. 窥探ElasticSearch(二)