Nebius Welcome Round (Div. 1 + Div. 2) - C. Pull Your Luck (1500)
지문만 드럽게 쳐길게 써놨는데
인 가 존재하는지를 찾는 문제이다.
이기 때문에 은 부터 까지 다더한걸로 무조건 나뉜다.
그니까 를 까지만 검사해줘도 무방하다.
그 후로는 주기적으로 이 동일하게 반복되기 때문이다.
void solve() {
int n, x, p;
cin >> n >> x >> p;
for (int i = 1; i <= min(n * 3, p); i++) {
int t = (i * (i + 1) / 2) % n;
if ((x + t) % n == 0) {
cout << "yes\n";
return;
}
}
cout << "no\n";
}
Comments