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.}