比赛 20200605 评测结果 AAAAAAAAAA
题目名称 到天宫做客 最终得分 100
用户昵称 ShallowDream雨梨 运行时间 0.006 s
代码语言 C++ 内存使用 13.85 MiB
提交时间 2020-06-05 20:05:40
显示代码纯文本
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int maxn=5005;
    const int inf=2e12;
    int a[maxn],q[maxn],w[maxn]; 
    struct qpq{
	int q,w;}b[maxn];
	int cmp(qpq e,qpq r){
	if(e.q==r.q)return e.w<r.w;
	return e.q<r.q;
	}
	double ans=0,qwq;
    signed main(){
     freopen("heaven.in","r",stdin);
     freopen("heaven.out","w",stdout);
    int n;
    cin>>n;
    a[1]=31;
    a[3]=31;
    a[5]=31;
    a[7]=31;
    a[8]=31;
    a[10]=31;
    a[12]=31;
    a[4]=30;
    a[6]=30;
    a[9]=30;
    a[11]=30;
    a[2]=29;
    for(int i=1;i<=n;i++)
    cin>>b[i].q>>b[i].w;
    sort(b+1,b+1+n,cmp);
    for(int i=1;i<=n;i++)
    q[i]=b[i].q,w[i]=b[i].w;
    //for(int i=1;i<=n;i++)cout<<q[i]<<' '<<w[i]<<endl;
    for(int i=2;i<=n;i++){
    if(q[i]!=q[i-1]){
    qwq=w[i]-1;
    for(int j=q[i-1]+1;j<q[i];j++)
    qwq+=a[j];
    qwq+=a[q[i-1]]-w[i-1];}
    else qwq=w[i]-1-w[i-1];
	ans=max(ans,qwq);
//	cout<<ans<<endl;
	}
	double tp1=0,tp2=0;
	
	for(int i=1;i<q[1];i++)
	tp1+=a[i];
	tp1+=w[1]-1;
	
	for(int i=q[n]+1;i<=12;i++)
	tp2+=a[i];
	tp2+=a[q[n]]-w[n];
	
	ans=max(ans,tp1);
	ans=max(ans,tp2);
	ans=ans*24*3600/366;
	double tmp=(int) ans;
	if(ans-tmp>=0.5) ++ans;
	cout<<(int)ans;
    return 0;
    }