80分求条
查看原帖
80分求条
1318814
wangqiyu_why楼主2025/2/3 10:08
#include <bits/stdc++.h>
using namespace std;
int n,mon[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; 
double ans;
struct ti{
	int m,d;
}a[380];
bool cmp(ti x,ti y)
{
	if(x.m==y.m)
	{
		return x.d<y.d;
	}
	return x.m<y.m;
}
int main(){
	cin>>n;
	if(n==366)
	{
		cout<<0;
		return 0;
	}
	if(n==0)
	{
		cout<<86400;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].m>>a[i].d;
	}
	sort(a+1,a+n+1,cmp);
	double sum=0;
	for(int i=1;i<a[1].m;i++)
	{
		sum+=mon[i];
	}
	sum+=a[1].d-1;
	ans=max(ans,sum);
	for(int i=1;i<n;i++)
	{
		sum=0;
		sum+=mon[a[i].m]-a[i].d;
		for(int j=a[i].m+1;j<a[i+1].m;j++)
		{
			sum+=mon[j];
		}
		sum+=a[i+1].d-1;
		ans=max(ans,sum);
	}
	sum=0;
	sum+=mon[a[n].m]-a[n].d;
	for(int i=a[n].m+1;i<=12;i++)
	{
		sum+=mon[i];
	}
	ans=max(ans,sum);
	ans*=86400;
	ans/=366;
	cout<<int(ans+0.5);
	return 0;
}
2025/2/3 10:08
加载中...