Cod sursa(job #2388379)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 25 martie 2019 23:18:43
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n,i,v[100001],D[100001],sol;

int main()
{
	f>>n; 
	for(i=1;i<=n;i++) 
		f>>v[i];
	
	//acum incerc sa le iau pe primele 2;
	D[1]=0; D[2]=v[1]+v[2]; D[3]=D[2];
	for(i=4;i<n;i++) 
		D[i]=max(D[i-1],D[i-3]+v[i-1]+v[i]);
	sol=D[n-1];
	
	//il iau pe ultimul
	D[1]=D[2]=0; 
	D[3]=v[2]+v[3];
	for(i=4;i<=n;i++)
		D[i]=max(D[i-1],D[i-3]+v[i-1]+v[i]);
	sol=max(sol,D[n]);
	
	//primul si ultimul
	D[1]=D[2]=D[3]=0;
	for(i=4;i<n-1;i++) 
		D[i]=max(D[i-1],D[i-3]+v[i-1]+v[i]);
	sol=max(sol, D[n-2]+v[1]+v[n]);
	
	g<<sol;
	return 0;
}