用的贪心,40,想知道用贪心怎么改
查看原帖
用的贪心,40,想知道用贪心怎么改
1228836
destiny_w楼主2024/11/9 14:59
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
vector <int> a;
int main() {
	int n;
	cin>>n;
	int c;
	//加入数据 
	for(int i=1; i<=n; ++i) {
		cin>>c;
		a.push_back(c);
	}
	int index;
	int ans=0;
	while(a.size()>1) {
		int i=0;
		int minx=0x3f3f3f3f3f;
		while(i<a.size()-1) {
			int tmp=a[i]+a[i+1];
			if(tmp<minx) {
				index=i;
				minx=tmp;
			}
			++i;
		}
		a.erase(a.begin()+index);
		a.erase(a.begin()+index);
		a.push_back(minx);
		ans+=minx;
	}
	cout<<max(ans,a[0])<<endl;


}
2024/11/9 14:59
加载中...