SRM 501 Div2 Easy FoxProgression

問題

beautiful sequenceとはsequenceのどの2つをとっても差分が同じ,もしくは前のsequenceと次のsequenceの割合が同じ.但しその差分,倍数は整数で無くてはならない.
sequenceが与えられた時最後に追加できる数の種類数を答えよ.
そのような種類が無数にあれば-1を返す.

解答

与えられたsequenceがある差分,倍数によるbeautiful sequenceであれば,次に追加できる数は,それぞれについて一つずつなはず.無数にあるのはsequenceの長さが1の時だけ.

class FoxProgression
{
public:
  int theCount(vector <int> seq)
    {
      int n = seq.size();
      int i;
      if (n == 1) return -1;
      int c1 = seq[1] - seq[0];
      double c2 = seq[1] / seq[0];
      if (seq[1] % seq[0] != 0) c2 = 0;
      for(i = 1; i < n; i++){
        if (c1 != 0) {
          if ((seq[i] - seq[i-1]) != c1) c1 = 0;
        }
        if (c2 != 0) {
          if (((double)seq[i] / seq[i-1]) != c2) c2 = 0;
        }
      }
      int res = 0;
      if (c1 != 0) res++;
      if (c2 != 0) res++;
      return res;
    }
};