为什么关闭同步流用cin会超时2个点,用scanf 不会!!
查看原帖
为什么关闭同步流用cin会超时2个点,用scanf 不会!!
267778
sfksf楼主2022/8/2 10:59
#include <bits/stdc++.h>
using namespace std;
#define M 2000005
#define ri register int 

int n,m;
int p[M];
int qu[M];
int main(){ 
    ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	
	cin>>n>>m;
	for(ri i=1;i<=n;i++) cin>>p[i];
	int l=1,r=1;qu[1]=1;cout<<0<<endl;
	for(ri i=2;i<=n;i++)
	{
		while(qu[l]<i-m) l++;
		cout<<p[qu[l]]<<endl;
		while(p[qu[r]]>=p[i]&&r>=l) r--;qu[++r]=i;
	}
	
	return 0;
	
} 
2022/8/2 10:59
加载中...