# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
949037 | rainboy | 개구리들 (YDX13_frogs) | C11 | 9 ms | 3920 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
#define N 100000
#define M 10
#define K (N * M)
#define INF 0x3f3f3f3f3f3f3f3fLL
int main() {
static char visited[K];
static int ll[K];
int n, m, c, a, b, r, s, k, l, h;
long long d, lower, upper, x, y;
scanf("%d%d%d%d%lld", &a, &n, &c, &m, &d);
s = 1 * m + 1, k = 0, l = 0;
while (!visited[s]) {
visited[s] = 1;
if (s % m == 0)
l++;
ll[k++] = l;
b = s / m, r = s % m;
b = (long long) b * a % n, r = (r + b) % m;
s = b * m + r;
}
lower = 0, upper = INF;
while (upper - lower > 1) {
x = (lower + upper) / 2;
y = x;
for (h = 0; h + 1 < c; h++)
y = (y / k) * l + ll[y % k];
if (x - y >= d)
upper = x;
else
lower = x;
}
printf("%lld\n", upper);
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |