为什么写快读会wa完,scanf就ac了(蒟蒻不解)
查看原帖
为什么写快读会wa完,scanf就ac了(蒟蒻不解)
683304
lethe_u楼主2022/8/27 21:39
#include<bits/stdc++.h>
using namespace std;int n,m;int a[2000010],dp[2000010];
inline int read(){
	int x=0,f=1;
	char ch;
	ch=getchar();
	if(ch<'0'||ch>'9')if(ch=='-')f=-1,ch=getchar();
	while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
	return x*f;
}
inline void p(int x){
	if(x>9)p(x/10);
	putchar(x%10+'0');
}
int main(){
	n=read();m=read();
	int head=1,tail=0;
	p(0);cout<<'\n';
	for(int i=1;i<=n;i++){
		a[i]=read();
		while(head<=tail&&i-dp[head]>=m)head++;
		while(head<=tail&&a[dp[tail]]>=a[i])tail--;
		tail++;
		dp[tail]=i;
		if(i!=n)p(a[dp[head]]),cout<<'\n';
	}
}
2022/8/27 21:39
加载中...