5个TLE

P1440 求m区间内的最小值

hw20王思捷 @ 2021-12-11 20:31:59

#include<bits/stdc++.h>
using namespace std;
int n,m,a[30000001],l=2999999,minx;
int main(){

    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    cout<<0<<endl;
    for(int i=2;i<=n;i++){
        if(i<=m){
            for(int k=1;k<i;k++)
            if(a[k]<l)
            l=min(a[k],l);  
            printf("%d\n",l);
            l=2999999;
        }
        else{
            for(int k=i-m;k<i;k++)
            if(a[k]<l)
                l=min(a[k],l);
            printf("%d\n",l);
            l=2999999;
        }
    }
return 0;

}
/*
5 2
7
7
5
3
1
*/ 

by Z_301 @ 2021-12-11 20:40:41

建议学习时间复杂度相关知识


by Yzj2010小号 @ 2022-01-01 12:01:49

请选择单调对列。


|