Pagini recente » Cod sursa (job #1059665) | Cod sursa (job #23860) | Cod sursa (job #566838) | Cod sursa (job #1792752) | Cod sursa (job #1617450)
#include <cstdio>
using namespace std;
int v[1002];
int v2[1002];
int main()
{
int unu,n,ince;
long long prma,s,sm,prs;
freopen("expresie.in","r",stdin);
freopen("expresie.out","w",stdout);
scanf("%d ",&n);
prma=0;
if(n>=4)
{
s=0;
int cor=n;
int h=1;
scanf("%d ",&v2[1]);
v[1]=v2[1];
for(int i=2;i<=n;i++)
{
scanf("%d",&v2[i]);
v[i]=v2[i];
if((v[i]*v[i-1]>prma)&&(v[i]*v[i-1]>v[i]+v[i-1]))
{
prma=v[i]*v[i-1];
unu=i;
h=0;
}
}
s=prma;
if (h==0)
{
for(int i=unu-1;i<=n;i++)
{
v[i]=v[i+2];
}
n--;
n--;
}
prma=0;
h=1;
for(int i=1;i<=n;i++)
{
if((v[i]*v[i-1]>prma)&&(v[i]*v[i-1]>v[i]+v[i-1]))
{
prma=v[i]*v[i-1];
unu=i;
h=0;
}
}
if(h==0)
{
for(int i=unu-1;i<=n;i++)
{
v[i]=v[i+2];
}
n=n-2;
}
s=prma+s;
for(int i=1;i<=n;i++)
{
s+=v[i];
}
sm=s;
prs=0;
s=0;
for(int i=1;i<=cor;i++)
{
if(v2[i]*v2[i+1]*v2[i+2]>prs)
{
prs=v2[i]*v2[i+1]*v2[i+2];
ince=i;
}
}
for(int i=ince;i<=n;i++)
{
v2[i]=v2[i+3];
}
cor=cor-3;
s=prs;
for(int i=1;i<=cor;i++)
{
s=s+v2[i];
}
if(sm<s)
{
sm=s;
}
}
else
{
sm=1;
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
sm*=v[i];
}
}
printf("%lld",sm);
return 0;
}