Pagini recente » Cod sursa (job #468448) | Cod sursa (job #2915601) | Cod sursa (job #958750) | Cod sursa (job #1082749) | Cod sursa (job #52358)
Cod sursa(job #52358)
#include <fstream>
std::ifstream f1("oo.in");
std::ofstream f2("oo.out");
int main()
{
int a, b, n, i, t, max, poz, sume[100000];
f1>>n;
if (n>0)
{
f1>>a;
sume[0]=a;
}//if
for (i=1; i<n; i++)
{
f1>>b;
sume[i-1]+=b;
sume[i]=b;
}//for i
sume[n-1]+=a;
t=0;
do
{
max=0;
for (i=0; i<n; i++)
if (sume[i]>max)
{
poz=i;
max=sume[poz];
}//if
if (max>0)
{
t+=max;
sume[poz]=0;
if (poz==1)
{
sume[0]=0;
sume[n-1]=0;
sume[2]=0;
sume[3]=0;
}//if
else
if (poz==0)
{
sume[n-1]=0;
sume[n-2]=0;
sume[1]=0;
sume[2]=0;
}//if
else
if (poz==(n-1))
{
sume[poz-1]=0;
sume[poz-2]=0;
sume[0]=0;
sume[1]=0;
}//if
else
if (poz==(n-2))
{
sume[poz-1]=0;
sume[poz-2]=0;
sume[n-1]=0;
sume[0]=0;
}//if
else
{
sume[poz-2]=0;
sume[poz-1]=0;
sume[poz+1]=0;
sume[poz+2]=0;
}//else
}//if
}while (max>0);
f2<<t;
f1.close();
f2.close();
return 0;
}//main