原创题解
2024-03-01 19:28:49
发布于:浙江
12阅读
0回复
0点赞
自己写的题解,这题真的太 水 难了,我做了 两年半 一个小时才做出来(悲)
这也配提高??????
简单!
奇怪的递归又增加了
#include <iostream>
using namespace std;
int n,a[10000000];
int cnt = 0;
void f(int a[],int n){
if(n == 0){
return;
}
int min = 99999999,p = 0;
for(int i = 0;i < n;i++){
if(a[i] < min){
min = a[i];
p = i;
}
}
cnt += min;
int l[n],r[n],lenl = 0,lenr = 0;
for(int i = 0;i < p;i++){
l[lenl] = a[i] - min;
lenl++;
}
for(int i = p+1;i < n;i++){
r[lenr] = a[i] - min;
lenr++;
}
f(l,lenl);
f(r,lenr);
return;
}
int main(){
ios::sync_with_stdio(false);
cin >> n;
for(int i = 0;i < n;i++) cin >> a[i];
f(a,n);
cout << cnt;
return 0;
}
这里空空如也
有帮助,赞一个