社区讨论
样例过了全wa求救
P2032扫描参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lqdp4sgm
- 此快照首次捕获于
- 2023/12/20 19:34 2 年前
- 此快照最后确认于
- 2023/12/20 21:58 2 年前
CPP
#include<iostream>
using namespace std;
int main(){
int n,k,a[20000],b[4000],t = 0,sign = 0;
cin>>n>>k;
for(int i = 0;i < n;i++) cin>>a[i];
for(int i = 0;i<k;i++) t = max(t,a[i]); //求第一次板子盖住数的最大
for(int i = 0;i<k;i++){
if(a[i] == t) sign++;//求最大数出现的次数
}
b[0] = t;
for(int i = k;i<n;i++){
if(sign > 0){
if(a[i] > t) {
t = a[i];
sign = 1;//更大的出现则替换为1
}
else if(a[i] == t){
if(a[i-k+1] < t) sign++;
}
else{
if(a[i-k+1] == t) sign--;
}
}
else{
t = 0;//跟新t用于比较出新的最大值
for(int j = i-k+1;j<i+k;j++) t = max(t,a[j]);//最大板子被弹出后的新的最大
for(int j = i-k+1;j<i+k;j++){
if(a[j] == t) sign++;//求出现次数
}
}
b[i-k+1] = t;
}
for(int i = 0;i<n-k+1;i++) cout<<b[i]<<endl;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...