40求助
  • 板块P1167 刷题
  • 楼主02Ljh
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/3/5 20:44
  • 上次更新2023/10/28 07:12:14
查看原帖
40求助
578004
02Ljh楼主2022/3/5 20:44
#include <bits/stdc++.h>
#define ll long long	
using namespace std;
int mo[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool y(int i)
{
	if(i%400==0) return true;
	if(i%4==0&&i%100!=0) return true;
	return false;
}
int main()
{
	int n,yearx,yeary,monx,mony,dayx,dayy,hox,hoy,sex,sey;
	ll tim=0,xt=0,yt=0;
	cin>>n;
	int num[10001]={0};
	for(int i=0;i<n;i++)
	{
		cin>>num[i];
	} 
	sort(num,num+n);
	scanf("%d-%d-%d-%d:%d",&yearx,&monx,&dayx,&hox,&sex);
	scanf("%d-%d-%d-%d:%d",&yeary,&mony,&dayy,&hoy,&sey);
	tim=(dayy*1440+hoy*60+sey)-(dayx*1440+hox*60+sex);
	if(tim<0)
	{
		tim=+1440;
		yearx++;
	}
	for(int i=yearx;i<yeary;i++)
	{
		if(y(i)) tim+=366;
		else tim+=365;
	}
	for(int i=monx;i<=12;i++)
	{
		xt=xt+mo[i]*1440;
		yt=yt+mo[i]*1440;
	}
	/*for(int i=mony;i>=0;i--)
	{
		yt=yt+mo[i]*1440;
	}*/
	tim=tim+yt-xt;
	//cout<<tim<<endl;
	xt=0;
	for(int i=0;i<n&&tim-1>=0;i++)
	{
		if(tim-1>=0)
		{
			tim-=num[i];
			xt++;
		}
	}
	cout<<xt;
	return 0;
}
2022/3/5 20:44
加载中...