Pagini recente » Cod sursa (job #1442395) | Cod sursa (job #1795770) | Profil Daria09 | Cod sursa (job #3032969) | Cod sursa (job #2119314)
#include <fstream>
using namespace std;
int D[100010], v[100010];
int n, sol, i;
int main () {
ifstream fin ("oo.in");
ofstream fout("oo.out");
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
/// iau pe primele 2
D[1] = 0;
D[2] = v[1] + v[2];
D[3] = 0;
for (i=4; i<n; i++)
D[i] = max(D[i-1], v[i] + v[i-1] + D[i-3]);
sol = D[n-1];
/// nu iau pe primul
D[1] = 0;
D[2] = 0;
D[3] = v[2] + v[3];
for (i=4; i<=n; i++)
D[i] = max(D[i-1], v[i] + v[i-1] + D[i-3]);
sol = max(sol, D[n]);
/// iau pe primul si pe ultimul
D[1] = 0;
D[2] = 0;
D[3] = 0;
for (i=4; i<n-1; i++)
D[i] = max(D[i-1], v[i] + v[i-1] + D[i-3]);
sol = max(sol, D[n-2] + v[1] + v[n]);
fout<<sol;
return 0;
}