Happy Programming Contest  ZOJ3703

老实说:题目意思没看懂。。。(希望路过的大神指点)

最后那个the total penalty time是什么意思啊!!!

还是学到点东西的。。。

解题的关键在于:要控制最后所用的时间最少,所以在程序的最开始应该先将输入的各种题目 以时间升序排列, 然后就可以保证每次都以时间小的优先选, 这样就可以保证最后相同的吸引值和解题数的情况下所花的时间最少。

 #include <iostream>
#include <stdio.h>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
struct Point
{
int t,v;
}p[];
bool cmp(Point left,Point right)
{
return left.t<right.t;
}
int dp[],pen[],pro[];
int main ()
{
int test;scanf("%d",&test);
while(test--)
{
int len,n;
scanf("%d%d",&len,&n);
memset(dp,,sizeof(dp));
memset(pro,,sizeof(pro));
memset(pen,,sizeof(pen));
for(int i=;i<=n;++i)
scanf("%d",&p[i].t);
for(int i=;i<=n;++i)
scanf("%d",&p[i].v);
int ans_val=,ans_p=,penalty=;
sort(p+,p++n,cmp);
for(int i=;i<=n;++i)
{
for(int j=len;j>=p[i].t;--j)
{
bool flag=false;
if(dp[j-p[i].t]+p[i].v>dp[j])
flag=true;
else if(dp[j-p[i].t]+p[i].v==dp[j] && pro[j-p[i].t]+>pro[j])
flag=true;
else if(dp[j-p[i].t]+p[i].v==dp[j] && pro[j-p[i].t]+==pro[j] && pen[j-p[i].t]+j<pen[j])
flag=true;
if(flag)
{
dp[j]=dp[j-p[i].t]+p[i].v;
pro[j]=pro[j-p[i].t]+;
pen[j]=pen[j-p[i].t]+j; }
}
}
for(int j=;j<=len;++j)
{
bool flag=false;
if(ans_val<dp[j])
flag=true;
else if(ans_val==dp[j] && ans_p<pro[j])
flag=true;
else if(ans_val==dp[j] && ans_p<pro[j] && penalty>pen[j])
flag=true;
if(flag)
{
ans_val=dp[j];
ans_p=pro[j];
penalty=pen[j];
}
}
printf("%d %d %d\n",ans_val,ans_p,penalty);
}
return ;
}

最新文章

  1. MAGENTO - APACHE SOLR INTEGRATION - PART II (SETUP)
  2. CocoaPods 抛出[!] Unable to satisfy the following requirements: 错误
  3. c++形参改变实参(对指针的理解
  4. XMPP协议的原理介绍
  5. Linux--/tmp目录文件重启后自动删除
  6. 树莓派 (Raspberry Pi) 是什么?普通人怎么玩?(私有云NAS也会有;上传到百度盘的功能nas也有)
  7. 加密传输SSL协议2_传统加密
  8. &lt;转&gt;ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
  9. 幻世(OurDream)2D图形引擎使用教程9——处理操作输入(3)
  10. 可运行jar包调用exe可运行文件,子进程阻塞
  11. 工作常用git命令
  12. URI 方法 encodeURI() encodeURIComponent() docodeURI() decodeURIComponent()
  13. redis---------AOF文件异常导致的redis无法载入
  14. android Notification总结
  15. day14,函数的使用方法:生成器表达式,生成器函数
  16. Android无法删除项目+导入项目报错
  17. Objective-C weak深入理解
  18. js 碰撞 + 重力 运动
  19. 文档根元素 &quot;mapper&quot; 必须匹配 DOCTYPE 根 &quot;configuration&quot;
  20. HDU 2054 又见GCD

热门文章

  1. TDDL DataSource
  2. python 生成 xml文件 属性的顺序问题
  3. WINDOWS下绑定ARP绑定网关
  4. 准备熟悉Kaggle -菜鸟进阶
  5. Java自定义表单、自定义字段
  6. C#实现:给定[0-9]数组,求用数组组成的任意数字的最小值
  7. ckeditor使用
  8. PHP 增删改查
  9. C# 将短时间格式变长正常时间格式
  10. HDU Math Problems