比赛 |
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;
}