提交时间:2026-04-13 22:28:37
运行 ID: 87279
#include <stdio.h> typedef long long ll; ll a, n, m, x, i, j, k, a1, a2, suma, sumb, sum, t, s; int main() { scanf("%lld%lld%lld%lld", &a, &n, &m, &x); if (x == 1 || x == 2) { printf("%lld\n", a); return 0; } else if (x == 3) { printf("%lld\n", 2 * a); return 0; } else if (x == n) { printf("%lld\n", m); return 0; } a1 = 1, a2 = 1, suma = 0; for (i = 1; i <= n - 4; i++) { suma += a1; sumb = suma - a1; t = a2, a2 = a2 + a1, a1 = t; } s = (m - 2 * a - sumb * a) / suma; a1 = 1, a2 = 1, suma = 0; for (i = 1; i <= x - 3; i++) { suma += a1; sumb = suma - a1; t = a2, a2 = a2 + a1, a1 = t; } printf("%lld\n", 2 * a + a * sumb + s * suma); }