fork download
#include <iostream>

using namespace std;

size_t alternateLength(int* a, size_t size, int first, int second) {
	for(size_t i=0; i < size; i++)
		if (a[i] == first) {
			size_t count = 0;
			size_t j = i;
			for(;;) {
				j++; count++;
				if (j>=size) j=0; //Дошли до конца? Начнем с начала
				if (i==j) return 0; //Сделали полный цикл => не нашли
				if (a[j]==second) return ++count; //Нашли второе - вернули
			}
		}
	return 0;
}

int main() {
	int WDOrder[] = {1, 2, 9, 5, 3, 6, 8};
	cout << alternateLength(WDOrder, sizeof(WDOrder)/sizeof(WDOrder[0]), 5, 2);
}
Success #stdin #stdout 0s 4488KB
stdin
Standard input is empty
stdout
6