比赛 20200605 评测结果 AAAAAAAAAA
题目名称 到天宫做客 最终得分 100
用户昵称 Harry Potter 运行时间 0.005 s
代码语言 C++ 内存使用 15.19 MiB
提交时间 2020-06-05 21:00:29
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cmath>
#include <algorithm>
using namespace std;
int n;
double b[99999];
int month[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
struct node{
	int x,y;
}a[99999];
bool cmp(node aa,node bb){
	if(aa.x<bb.x) return true;
	else{
		if(aa.x>bb.x) return false;
		else if(aa.y<bb.y) return true;
		else return false;
	}
}
int main(){
	freopen("heaven.in","r",stdin);
	freopen("heaven.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].x>>a[i].y;
	}
	if(n==0) cout<<"86400";
	else if(n>=366) cout<<"0";
	else{
		sort(a+1,a+n+1,cmp);
	if(a[1].x==1) b[0]=a[1].y-1;
	else{
		for(int i=1;i<=a[1].x-1;i++) b[0]=b[0]+month[i];
		b[0]=b[0]+a[1].y-1;
	}
	for(int i=1;i<=n-1;i++){
		if(a[i].x==a[i+1].x) b[i]=a[i+1].y-a[i].y-1;
		else{
			b[i]=month[a[i].x]-a[i].y;
			for(int j=a[i].x+1;j<=a[i+1].x-1;j++) b[i]=b[i]+month[j];
			b[i]=b[i]+a[i+1].y-1;
		}
	}
	if(a[n].x==12) b[n]=31-a[n].y;
	else{
		for(int i=a[n].x+1;i<=12;i++) b[n]=b[n]+month[i];
		b[n]=b[n]+month[a[n].x]-a[n].y;
	}
	sort(b,b+n+1);
	cout<<setiosflags(ios::fixed)<<setprecision(0);
	cout<<b[n]*24*3600/366;
}
return 0;
}