1.牛客题目的题号:NC50528
题目原文:链接:https://ac.nowcoder.com/acm/problem/50528
来源:牛客网
OJ链接:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=76627135&returnHomeType=1&uid=225882007
源码:5.#include<bits/stdc++.h>
6.using namespace std;
7.const int N=1e6+3;
8.int a[N];
9.int ans1[N],ans2[N];
10.int main(){
11.    int n,k;
12.    cin>>n>>k;
13.    for(int i=0;i<n;i++){
14.        cin>>a[i];
15.    }
16.    int maxn=a[0],minn=a[0];
17.    for(int i=0;i<k;i++){
18.        maxn=max(maxn,a[i]);
19.        minn=min(minn,a[i]);
20.        ans1[i]=minn;
21.        ans2[i]=maxn;
22.    }
23.
24.    for(int i=k;i<n;i++){
25.        if(a[i-k]==maxn){
26.            maxn=a[i-k+1];
27.            for(int j=i-k+2;j<i;j++){
28.                maxn=max(maxn,a[j]);
29.            }
30.        }
31.        if(a[i-k]==minn){
32.            minn=a[i-k+1];
33.            for(int j=i-k+2;j<i;j++){
34.                minn=min(minn,a[j]);
35.            }
36.        }
37.        if(a[i]>=maxn){
38.            maxn=a[i];
39.        }
40.        if(a[i]<=minn){
41.            minn=a[i];
42.        }
43.        ans1[i]=minn;
44.        ans2[i]=maxn;
45.    }
46.    for(int i=k-1;i<n;i++){
47.        cout<<ans1[i]<<" ";
48.    }
49.    cout<<"\n";
50.    for(int i=k-1;i<n;i++){
51.        cout<<ans2[i]<<" ";
52.    }
53.    return 0;
54.}

京公网安备 11010502036488号