Cod sursa(job #1628748)
| Utilizator | Data | 4 martie 2016 10:24:00 | |
|---|---|---|---|
| Problema | Oo | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.09 kb |
#include <fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int main()
{
long int n,s=0,maxi;
f>>n;
short int v[n+1],max;
for(int i=0;i<n;i++)
f>>v[i];
v[n]=v[0];
bool k=1;
while(k)
{
max=-1;maxi=-1;
for(int i=0;i<n;i++)
if(v[i]+v[i+1]>max && v[i]+v[i+1]!=0)
{max=v[i]+v[i+1];maxi=i;}
if(max>0 && maxi>=0)
{
s=s+max;
if(maxi==n-1 || maxi==n-2)
{
v[n-2]=0;v[n-1]=0;v[n]=0;v[0]=0;
if(maxi==n-1)
v[1]=0;
if(maxi==n-2)
v[n-3]=0;
}
else
{
if(maxi==0)
{
v[n]=0;v[maxi]=0;v[maxi+1]=0;v[maxi+2]=0;v[n-1]=0;
}
else
{
v[maxi-1]=0;v[maxi]=0;v[maxi+1]=0;v[maxi+2]=0;
}
}
}
else
k=0;
}
g<<s;
return 0;
}
