#include<bits/stdc++.h>
using namespace std;
int y_s,m_s,d_s,h_s,min_s,y_l,m_l,d_l,h_l,min_l;
int ti;
int m=0;
int ti_time[5001];
int lepa_hs()
{
int lepa=0;
for(int i=y_s;i<=y_l;i++)
{
if(((i%100==0 and i%400==0) or (i%100!=0 and i%4==0)))
{
lepa++;
if(i==y_s)
{
if(!(((m_s==2 and m_l>=2)or(m_s<2 and m_l>=2))&&d_s<=29) and (d_s!=d_l))
{
lepa--;
}
}
}
}
return lepa;
}
int m_hs(int lepa)
{
int day=0;
day+=(y_l-y_s)*365;
for(int i=m_s;i<m_l;i++)
{
if(i==3||i==5||i==7||i==8||i==10||i==12)
{
day+=31;
}
else
{
if(i!=2)
{
day+=30;
}
else
{
day+=28;
}
}
}
day+=(d_l-d_s+lepa);
m=day*24*60;
m+=min_l-min_s;
m+=(h_l-h_s)*60;
return m;
}
int ans_hs(int min)
{
int ans=0;
for(int i=0;i<ti;i++)
{
if(min>=ti_time[i])
{
ans++;
min-=ti_time[i];
}
else
{
break;
}
}
return ans;
}
int main()
{
cin>>ti;
for(int i=0;i<ti;i++) cin>>ti_time[i];
scanf("%d-%d-%d-%d:%d",&y_s,&m_s,&d_s,&h_s,&min_s);
scanf("%d-%d-%d-%d:%d",&y_l,&m_l,&d_l,&h_l,&min_l);
cout<<ans_hs(m_hs(lepa_hs()));
return 0;
}
P1167 刷题这道题目,样例过了但只有30分求各位大佬指点,QAQ。本人已经被这道题目折磨了好久了