Pagini recente » Cod sursa (job #319593) | Cod sursa (job #1889528) | Cod sursa (job #255867) | Cod sursa (job #233372) | Cod sursa (job #2117936)
#include <fstream>
using namespace std;
ifstream fin ("oo.in");
ofstream fout ("oo.out");
int v[100005], w[100005], n, maxim = -1, maxim1 = -1, p;
long long sum, sumtot;
int verific(){
for(int i = 1; i <= n; i++){
if(w[i] == 0 && w[i + 1] == 0){
return 1;
}
}
return 0;
}
int main()
{
fin>>n;
for(int i = 1; i <= n; i++){
fin>>v[i];
}
v[n + 1] = v[1];
while(verific() == 1){
maxim1 = 0;
p = 0;
for(int i = 1; i <= n; i++){
sum = v[i] + v[i + 1];
if(sum > maxim1 && w[i] == 0 && w[i + 1] == 0){
maxim1 = sum;
p = i;
}
}
w[p] = 1;
w[p + 1] = 1;
w[p - 1] = 1;
w[p + 2] = 1;
if(p == 1){
w[n] = 1;
}
else if(p == n){
w[1] = 1;
w[2] = 1;
}
sumtot += v[p] + v[p + 1];
}
fout<<sumtot;
return 0;
}