PKU 2575 Jolly Jumpers

  • 隣り合う数字の差の絶対値を配列に格納
  • 配列をソート
  • 配列が1,2,...n-1となっているかどうかを確認
int main() {
	int n;
	while (cin >> n) {
		vector<int> values;
		for (int i = 0; i < n; ++i) {
			int value;
			cin >> value;
			values.push_back(value);
		}

		vector<int> sad;

		for (int i = 0; i < n - 1; ++i) {
			sad.push_back(abs(values[i] - values[i + 1]));
		}
		sort(sad.begin(), sad.end());

		bool jolly = true;
		for (int i = 0; i < sad.size() && jolly; ++i) {
			jolly = (sad[i] == i + 1);
		}

		if (jolly) {
			cout << "Jolly" << endl;
		} else {
			cout << "Not jolly" << endl;
		}
	}
}