HDU 1260 Tickets
2016-04-08 16:49
246 查看
给你k个人,每个人单独买票的时间以及两个人合并买票的时间,问最少卖光票需要多久时间。dp[i]表示前i个人买好票最少需要花费的时间,状态转移方程:dp[i] = dp[i] = min(dp[i - 1] + arr1[i], dp[i - 2] + arr2[i - 1]);其中arr1[i]表示第i个人单独买票的时间,arr2[i]表示i+1这个人和i这个人合并买票的时间。
#include <cstdio> #include <iostream> #include <cstring> using namespace std; const int MAX = 2e3 + 5; int arr1[MAX], arr2[MAX], dp[MAX]; int main() { int t; scanf("%d", &t); while (t--) { int n; scanf("%d", &n); memset(arr1, 0, sizeof(arr1)); memset(arr2, 0, sizeof(arr2)); for (int i = 1; i <= n; ++i) scanf("%d", &arr1[i]); for (int i = 1; i <= n - 1; ++i) scanf("%d", &arr2[i]); dp[1] = arr1[1]; for (int i = 2; i <= n; ++i) { dp[i] = min(dp[i - 1] + arr1[i], dp[i - 2] + arr2[i - 1]); } int second = dp % 60; int minute = dp % 3600 / 60; int hour = (8 + dp / 3600); if (hour < 12) printf("%02d:%02d:%02d am\n", hour, minute, second); else printf("%02d:%02d:%02d pm\n", hour, minute, second); } return 0; }
相关文章推荐
- 模板模式 和 策略模式的区别, builder pattern构造者模式,BeanDefinitionBuilder
- 在CentOS上安装Java环境:使用yum安装java
- 长方柱类
- 序列自相关矩阵的计算和分析
- 递归算法及经典递归例子代码实现
- LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”
- USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍
- 敏捷开发Scrum
- 委托,是我委托你处理事件
- sql经典题目
- Java多线程之Lock的使用
- 字符串加密
- 归并排序
- Java多线程之Lock的使用
- CF A. Greg and Array (区间离线处理)
- Unity3d发布webplayer 部署到IIS
- 笔记(4/8)UDP
- Teradata SQL tips
- SpriteKit-SKView
- ecshop -爱T-blog