Pagini recente » Cod sursa (job #404652) | Cod sursa (job #1413607) | Cod sursa (job #2106577) | Cod sursa (job #3124855) | Cod sursa (job #466652)
Cod sursa(job #466652)
#include <fstream>
using namespace std;
ifstream in("numarare.in");
ofstream out("numarare.out");
int n,nr1,nr,i,j;
int v[1000000];
int simetric(int inceput,int sfarsit)
{
if((sfarsit-inceput)%2==1) return 0;
while(inceput<sfarsit)
{
if(v[inceput]!=v[sfarsit])
return 0;
inceput++;
sfarsit--;
}
return 1;
}
int main()
{
in>>n;
in>>nr1;
for(i=1;i<n;i++)
{
in>>nr;
v[i]=nr1-nr;
nr1=nr;
}
int sol = n-1;
i=n-1;
while(i>2)
{
for(j=1;j<i;j++)
if(simetric(j,i)==1)
{
sol +=(i-j)/2;
i=j;
}
else i--;
}
out<<sol;
return 0;
}