数字替换(为什么超时)

#include<bits/stdc++.h>
using namespace std;
int a[1005],n,k;
int main(){
cin>>n>>k;
int MAX=INT_MIN,MIN=INT_MAX;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>MAX) MAX=a[i];
if(a[i]<MIN) MIN=a[i];
}
for(int i=1;i<=n;i++){
if(a[i]>k) a[i]=MAX;
if(a[i]<k) a[i]=MIN;
cout<<a[i]<<" ";
}
}
为什么超时

1 条评论

  • #include<bits/stdc++.h>
    using namespace std;
    int a[100005],n,k;
    int main(){
        cin>>n>>k;
        for(int i=0;i<n;i++)cin>>a[i];
        int max=INT_MIN,min=INT_MAX;
        for(int i=0;i<n;i++){
            if(a[i]>max)max=a[i];
            if(a[i]<min)min=a[i];
        }for(int i=0;i<n;i++){
            if(a[i]<k)a[i]=min;
            if(a[i]>k)a[i]=max;
        }for(int i=0;i<n;i++)cout<<a[i]<<' ';
        return 0;
    }
    
  • 1