社区讨论
5pts求调,仅过测试点4
P14665[KenOI 2025] 序列题参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mivo2igs
- 此快照首次捕获于
- 2025/12/07 19:56 2 个月前
- 此快照最后确认于
- 2025/12/10 20:50 2 个月前
每个测试点都是对一半多,求调
CPP#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,a[5005];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
while(m--){
int mx=0,mn=1e9,ky=1,l=0,r=0;
vector<int >kx;
kx.push_back(0);
for(int i=1;i<=n;i++)
mx=max(mx,a[i]);
for(int i=1;i<=n;i++)
if(a[i]==mx)kx.push_back(i);
kx.push_back(n+1);
for(int i=1;i<=n;i++)
if(mn>a[i])mn=a[i],ky=i;
for(int i=1;i<kx.size();i++)
if(kx[i-1]<=ky&&ky<=kx[i]){
l=kx[i-1],r=kx[i];
break;
}
for(int i=l+1;i<r;i++)
a[i]++;
//cout<<l<<" "<<r<<" "<<ky<<"\n";
}
int maxn=0,minn=1e9;
for(int i=1;i<=n;i++){
maxn=max(a[i],maxn);
minn=min(a[i],minn);
}
cout<<maxn-minn;
return 0;
}
QWQ
回复
共 3 条回复,欢迎继续交流。
正在加载回复...