HDU【1260】Tickets
2016-03-20 18:00
274 查看
Tickets
[b]Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2434 Accepted Submission(s): 1191
[/b]
[align=left]Problem Description[/align]
Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could he go back home as early as possible.
A good approach, reducing the total time of tickets selling, is let adjacent people buy tickets together. As the restriction of the Ticket Seller Machine, Joe can sell a single ticket or two adjacent tickets at a time.
Since you are the great JESUS, you know exactly how much time needed for every person to buy a single ticket or two tickets for him/her. Could you so kind to tell poor Joe at what time could he go back home as early as possible? If so, I guess Joe would full
of appreciation for your help.
[align=left]Input[/align]
There are N(1<=N<=10) different scenarios, each scenario consists of 3 lines:
1) An integer K(1<=K<=2000) representing the total number of people;
2) K integer numbers(0s<=Si<=25s) representing the time consumed to buy a ticket for each person;
3) (K-1) integer numbers(0s<=Di<=50s) representing the time needed for two adjacent people to buy two tickets together.
[align=left]Output[/align]
For every scenario, please tell Joe at what time could he go back home as early as possible. Every day Joe started his work at 08:00:00 am. The format of time is HH:MM:SS am|pm.
[align=left]Sample Input[/align]
2 2 20 25 40 1 8
[align=left]Sample Output[/align]
08:00:40 am 08:00:08 am
[align=left]Source[/align]
浙江工业大学第四届大学生程序设计竞赛
[align=left]Recommend[/align]
JGShining | We have carefully selected several similar problems for you: 1257 1160 1074 1159 1114
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 2005; int a[maxn],b[maxn],dp[maxn];//dp[i]表示前i个人买票所需要的最少时间 int main() { int T,n; scanf("%d",&T); while( T-- ) { scanf("%d",&n); for(int i = 1; i <= n; i++) scanf("%d",&a[i]); for(int i = 2; i <= n; i++) scanf("%d",&b[i]); dp[0] = 0; dp[1] = a[1]; for(int i = 2; i <= n; i++) dp[i] = min(dp[i-1]+a[i] , dp[i-2]+b[i]); int h,m,s; h = dp /3600 + 8; m = dp %3600/60; s = dp %3600%60; if(h < 12) printf("%02d:%02d%:%02d am\n",h,m,s); else printf("%02d:%02d%:%02d pm\n",h,m,s); } return 0; }
相关文章推荐
- android应用程序---短信发送器
- Linux内核第四节 20135332武西垚
- Using TCP keepalive with Go
- js获取项目根路径
- linux内核分析——扒开系统调用的三层皮(上)
- 删除给定字符的算法
- tomcat 启动报 找不到 StrutsPrepareAndExecuteFilter
- Java - 正则表达式 - Pattern - Matcher
- Linux中一些基础命令,随用随记~
- 机电传动控制第四周仿真作业
- Java数据类型
- Chromium多进程架构
- 20145120 《Java程序设计》第3周学习总结
- Problem D & Problem J
- 文本处理三剑客之sed命令用法
- 程序员的自我修养——目标文件
- Tkinter -- 面向对象方式简单封装
- Leetcode 148. Sort List
- StingIO
- hdu 1875(畅通工程续)