1.牛客题目的题号:NC50528 题目原文:链接:https://ac.nowcoder.com/acm/problem/50528 来源:牛客网 OJ链接:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=76627135&returnHomeType=1&uid=225882007 alt 源码: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.}