Cod sursa(job #2210417)

Utilizator AlexPascu007Pascu Ionut Alexandru AlexPascu007 Data 6 iunie 2018 17:53:26
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,i,v[100010],d[100010],sol;
int main() {
	fin>>n;
	for (i=1;i<=n;i++)
		fin>>v[i];
	d[1]=v[1]; d[2]=v[1]+v[2]; ///nu iau ultimul element
	for (i=3;i<n;i++)
		d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
	sol=d[n-1];
	d[1]=0; d[2]=v[2]; d[3]=v[2]+v[3]; ///nu iau primul element
	for (i=4;i<=n;i++)
		d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
	sol=max(sol,d[n]);
	d[1]=v[1]+v[n]; d[2]=d[1]; ///iau si primul, si ultimul element
	for (i=2;i<n-1;i++)
		d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
	sol=max(sol,d[n-2]);
	fout<<sol;
	return 0;
}