FoxProgression
#include <vector>
using namespace std;
class FoxProgression{public:
int theCount( vector <int> seq )
{
int n=(int)seq.size();
if ( n==1 )
return -1;
int a1, a2;
bool f1, f2;
int d = seq[1] - seq[0];
a1 = seq[n-1] + d;
f1 = true;
for ( int i=0; i<n-1; i++ )
if ( seq[i]+d != seq[i+1] )
f1 = false;
int r = seq[1] / seq[0];
a2 = seq[n-1] * r;
f2 = true;
for ( int i=0; i<n-1; i++ )
if ( seq[i]*r != seq[i+1] )
f2 = false;
if ( !f1 && !f2 )
return 0;
if ( !f1 && f2 || f1 && !f2 )
return 1;
return a1==a2 ? 1 : 2;
}};