需要尽可能优化程序代码
任务 http://acmp.ru/asp/do/index.asp?main=task&id_course=1&id_section=5&id_topic=114&id_problem=705
代码本身
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
long long a;
long long j = -1, ans;
vector <long long> n;
long long maxi = -100;
int main()
{
cin >> a;
long long tmp_g = 1;
for (int i = 0; i < a; i++){
cin >> tmp_g;
n.push_back(tmp_g);
}
while (1){
long long hom = j + 1;
for(int z = j+1; z < a; z++){
if(n[z] > n[hom])
hom = z;
}
ans += (hom - j) * n[hom];
j = hom;
if (j == a - 1 )
{
break;
}
}
cout << ans;
return 0;
}
最佳优化 - 始终从选择最佳算法开始:
好吧,我不知道这段代码对你来说有多优化,但我为你提供了我自己的版本: