Pagini recente » Cod sursa (job #1525446) | Cod sursa (job #2028286) | Cod sursa (job #581208) | Cod sursa (job #1152882) | Cod sursa (job #681380)
Cod sursa(job #681380)
#include<fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
#define nr 10010
int n,a[nr],x[nr],sum[nr],i;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
}
for(i=1;i<=n;i++)
{
switch(x[i-1])
{
case 0:
sum[i]=sum[i-1]+a[i];
x[i]=1;
break;
case 1:
sum[i]=sum[i-1]+a[i];
x[i]=2;
break;
case 2:
if(x[i-4]==0)sum[i-3]=sum[i-4];
if(sum[i-3]+a[i-1]+a[i]<sum[i-1])
{
sum[i]=sum[i-1];
x[i]=0;
}
else
{
sum[i]=sum[i-3]+a[i-1]+a[i];
x[i-3]=x[i-2]=0;
x[i-1]=1;
x[i]=2;
}
break;
}
}
switch(x[1])
{
case 0:
for(i=n;x[i]!=2;i--);
break;
case 1:
for(i=n;x[i]!=0;i--);
break;
case 2:
for(i=n;x[i]!=1;i--);
break;
}
g<<sum[i];
return 0;
}