首页 > 学院 > 开发设计 > 正文

Tickets HDU - 1260

2019-11-11 07:19:45
字体:
来源:转载
供稿:网友

 知道一个人买票花的时间和和前面那个人一起买票花的时间,问最少花多少时间可以把票卖完.. dp[1]=s[i] for i 2~n dp[i]=min(dp[i-1]+s[i],dp[i-2]+d[i]);

#include <cstdio>#include <cstring>#include <string>#include <iostream>#include <algorithm>using namespace std;const int maxn=100000;int dp[maxn];int s[maxn];int dou[maxn];int main(){ int t; cin>>t; int n; while(t--) { memset(dp,0,sizeof(dp)); memset(s,0,sizeof(s)); memset(dou,0,sizeof(dou)); cin>>n; for(int i=0;i<n;i++) cin>>s[i]; for(int i=1;i<n;i++) cin>>dou[i]; dp[0]=s[0]; for(int i=1;i<n;i++) { dp[i]=min(dp[i-1]+s[i],dp[i-2]+dou[i]); } int tt=dp[n-1]; int hh=8+tt/3600; tt%=3600; int mm=tt/60; tt%=60; PRintf("%02d:%02d:%02d %s/n",hh,mm,tt,(hh>12)?"pm":"am" ); }}
上一篇:疑问拾遗

下一篇:StringParser详解

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表