老师的精妙的暴力破解
2024-08-13 14:07:22
发布于:浙江
题目:
我的解法(真的暴力):
#include<bits/stdc++.h>
using namespace std;
int n;
int a[1000005];
int maxx = -100005;
int main(){
freopen("profit.in","r",stdin);
freopen("profit.out","w",stdout);
cin>>n;
for(int i = 0;i < n;i++){
cin>>a[i];
}
for(int i = 0;i < n - 1;i++){
for(int j = i + 1;j < n;j++){
if(maxx < a[j] - a[i]){
maxx = a[j] - a[i];
}
}
}
cout<<maxx;
fclose(stdin);
fclose(stdout);
return 0;
}
然而老师的解法,太精妙了!↓
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("profit.in","r",stdin);
freopen("profit.out","w",stdout);
int n;
int maxn = -1,minn = 1000001;
cin>>n;
for(int i = 1;i <= n;i++){
int x;
cin>>x;
minn = min(minn,x);
maxn = max(maxn,x - minn);
}
cout<<maxn;
fclose(stdin);
fclose(stdout);
return 0;
}
全部评论 1
#include<bits/stdc++.h> using namespace std; int main(){ freopen("profit.in","r",stdin); freopen("profit.out","w",stdout); int n,m,l=100005,r=0,mx=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&m); if(m<l)r=l=m; else if(m>r)r=m,mx=max(mx,r-l); }printf("%d",mx); fclose(stdin); fclose(stdout); return 0; }
2024-08-13 来自 广东
26
2024-09-21 来自 浙江
0hh
2024-09-24 来自 广东
0
有帮助,赞一个