2 条题解

  • 0
    @ 2025-10-18 14:21:22
    #include<bits/stdc++.h>
    using namespace std;
    int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31},b[500],n,x,y,s,ans,maxn;
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>x>>y;
    		s=0;
    		for(int j=1;j<=x-1;j++)
    		{
    		  s=s+a[j];
    		} 
    		s=s+y;
    		b[s]=1;
    	}
    	b[367]=1;
    	for(int i=1;i<=367;i++)
    	{
    		if(b[i]==0) ans++;
    		else{
    			if(ans>maxn) maxn=ans;
    			ans=0;
    		    }
    	}
    	cout<<round(maxn*24*3600/366.00);
    	return 0;
    }
    
    • 0
      @ 2022-11-6 15:42:49
      #include<bits/stdc++.h>
      using namespace std;
      int n,a,i,s[1000005],l,ma,b;
      const int f[13]={0,0,31,60,91,121,152,182,213,244,274,305,335};//预处理
      void write(int x) {//快输
      	if(x<0){
      		putchar('-');
      		write(-x);
      		return;
      	}
      	if(x>=10)write(x/10);
      	putchar(x%10+'0');
      }
      int main()
      {
         cin>>n;
         for(i=1;i<=n;i++)cin>>a>>b,s[i]=f[a]+b;
         s[n+1]=366+1;//天数+1
         sort(s+1,s+n+1);//排序
         for(i=1;i<=n+1;i++)
            ma=max(ma,s[i]-s[i-1]-1);//跟间隔之间的天数取较大值
         write(ma*1.0*60*60*24/366+0.5);//转换
         return 0;
      }
      • 1

      信息

      ID
      188
      时间
      1000ms
      内存
      256MiB
      难度
      5
      标签
      (无)
      递交数
      177
      已通过
      72
      上传者