这题好奇怪

回复帖子

@Belarus 2019-10-22 09:14 回复

在自己的计算机上输入样例,答案已经输出,但是过了很久才提示 $$\sf{Program\,exited\,after\,XXX\,s\,with\,return\,value\,0}$$
那从输出答案到程序结束计算机干了啥???
我先觉得是$STL$的原因,但是已经输出答案了,那就和$STL$没多大关系了啊
更恐怖的是,在luogu上竟然$\color{green}\sf{AC}$了?理论上来说应该$\color{darkblue}\sf{TLE}$啊。
难道是我的电脑炸了?但是其他题目没有这样的情况啊
贴一下我的代码:

//P1178
#include<bits/stdc++.h>
using namespace std;
int n,f[15][34],ans=0;
int d[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > > q;
int main(){
    ios::sync_with_stdio(0);
    cin>>n;
    f[0][31]=-1;f[13][1]=366;
    for(int i=2;i<=31;++i) f[1][i]=f[1][i-1]+1;
    for(int m=2;m<=12;++m){
        f[m][1]=f[m-1][d[m-1]]+1;
        for(int i=2;i<=d[m];++i) f[m][i]=f[m][i-1]+1;
    }
    q.push(make_pair(0,31));
    q.push(make_pair(13,1));
    for(int i=1;i<=n;++i){
        int x,y;
        cin>>x>>y;
        q.push(make_pair(x,y));
    }
    while(!q.empty()){
        pair<int,int> x=q.top();
        q.pop();
        if(q.empty()) break;
        pair<int,int> y=q.top();
        ans=max(ans,f[y.first][y.second]-f[x.first][x.second]-1);
    }
    cout<<(int)(ans*1.0*24*3600/366+0.5);
    return 0;
}
@Belarus 2019-10-22 09:26 回复 举报

@142857cs 电脑上的杀毒软件远古时期就卸载了,就是因为它把lz编译出来的exe全删了(哭笑)

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。