求助,关于离奇 RE
  • 板块学术版
  • 楼主__vector__
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/12/28 23:22
  • 上次更新2023/10/24 06:16:31
查看原帖
求助,关于离奇 RE
507348
__vector__楼主2022/12/28 23:22

本蒟蒻复习 P1886。
然后测样例 vscode 显示 RE。
手动输入了一下,发现可以正常读入。
但是读入完之后立刻寄掉,立刻,下一条语句都没来得及执行(输中量知道的)。
而且如果读入 n,kn,k 之后放一段时间,也会挂掉(自动退出)。
想问一下是什么原因。
/bx

#include <iostream>
#include <vector>
#include <deque>
int n,k;
int main()
{
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);
    std::cin>>n>>k;
    std::cout<<n<<" "<<k<<'\n';
    std::vector<int> a(n+1);
 //   std::cout<<"jile\n";
    for(int i=0;i<n;i++)
    {
        std::cin>>a[i];
    }
    
    std::deque<std::pair<int,int>> que1,que2;
    std::vector<std::pair<int,int>> ans(n);
    for(int i=0;i<n;i++)
    {
        while(!que1.empty()&&que1.front().second<n-k+1)que1.pop_front();
        while(!que2.empty()&&que2.front().second<n-k+1)que1.pop_front();
        while(!que1.empty()&&que1.back().first>a[i])que1.pop_back();
        while(!que2.empty()&&que2.back().first<a[i])que2.pop_back();
        que1.push_back(std::make_pair(a[i],i));
        que2.push_back(std::make_pair(a[i],i));
        ans[i]=std::make_pair(que1.front().first,que2.front().first);
    }
//    std::cout<<"n: "<<n<<'\n';
    for(int i=0;i<n;i++)
    {
        std::cout<<ans[i].first<<' ';
    }
    std::cout<<'\n';
    for(int i=0;i<n;i++)
    {
        std::cout<<ans[i].second<<' ';
    }
    return 0;
}  
2022/12/28 23:22
加载中...