P1167 刷题(玄关)
  • 板块灌水区
  • 楼主Reserved_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/28 23:25
  • 上次更新2024/10/28 23:35:03
查看原帖
P1167 刷题(玄关)
1395815
Reserved_楼主2024/10/28 23:25

求大佬,70分

#include<bits/stdc++.h>
using namespace std;
vector<int> a;
int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
long long sum=0,sum2=0,sum3;
int y,m,d,h,M,y2,m2,d2,h2,M2,n;
bool js(int x)
{
	if(x%100==0)
	{
		if(x%400==0)
		{
			return 1;
		}
	}
	else
	{
		if(x%4==0)
		{
			return 1;
		}
	}
	return 0;
}
void jz()
{
    sum=y*365*24*60+m*b[m]*24*60+d*24*60+h*60+M;
	sum2=y2*365*24*60+m2*b[m2]*24*60+d2*24*60+h2*60+M2;
	if(js(y)&&m>=2&&d>=28)
	{
		sum+=24*60;
	}
	if(js(y2)&&m2>=2&&d2>=28)
	{
		sum2+=24*60;
	}
	sum3=sum2-sum;
}
int main()
{
	int ans=0;
	char c;
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		int k;
		scanf("%d",&k);
		a.push_back(k);
	}
	cin>>y>>c>>m>>c>>d>>c>>h>>c>>M>>y2>>c>>m2>>c>>d2>>c>>h2>>c>>M2;
	sort(a.begin(),a.end());
	jz();
	int j=0;
	for(int i=0; i<=a.size()-1; i++)
    {
        if(sum3>=a[i])
        {
            sum3-=a[i];
            ans++;
        }
        else
        {
        	break;
		}
    }
	cout<<ans;
	return 0;
}
2024/10/28 23:25
加载中...