1. 程式人生 > >求m區間內的最小值(洛谷_1440)

求m區間內的最小值(洛谷_1440)

color getch -- char ios || ostream log 最小值

這題用隊列隨便搞一下就好了。

就是可能有些細節

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
inline int read(){
    int t=1,num=0;char c=getchar();
    while(c>9||c<0){if(c==-)t=-1;c=getchar();}
    while(c>=0&&c<=9){num=num*10
+c-0;c=getchar();} return num*t; } const int maxn=2000010; int n,m,q[maxn][2],a[maxn],qi,ho; int main() { n=read();m=read();qi=1;ho=0; for(int i=1;i<=n;i++)a[i]=read(); puts("0"); for(int i=1;i<n;i++){ while(q[ho][0]>=a[i]&&qi<=ho)ho--; q[++ho][0]=a[i];q[ho][1
]=i; if(i-q[qi][1]>=m)qi++; printf("%d\n",q[qi][0]); } return 0; }

本文由Yzyet編寫,網址為www.cnblogs.com/Yzyet。非Yzyet同意,禁止轉載,侵權者必究。

求m區間內的最小值(洛谷_1440)