Tickets
本来不想保留这道水题的,不过 VJ 挂了,就放在保存一下,很简单,不多说了
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
const int maxn=2010;
int one[maxn];
int two[maxn];
int dp[maxn];
int main()
{
int n;
cin>>n;
while(n--)
{
memset(dp,0,sizeof(dp));
memset(one,0,sizeof(one));
memset(two,0,sizeof(two));
int k;
cin>>k;
for(int i=1;i<=k;i++)
{
cin>>one[i];
}
for(int i=2;i<=k;i++)
{
cin>>two[i];
}
dp[0]=0;dp[1]=one[1];
for(int i=2;i<=k;i++)
{
dp[i]=min(dp[i-1]+one[i],dp[i-2]+two[i]);
}
int h=dp[k]/3600+8;
int m=dp[k]/60%60;
int s=dp[k]%60;
printf("%02d:%02d:%02d am\n",h,m,s);
}
return 0;
}