QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#301781#4922. 生活在对角线下zyc07041940 391ms15232kbC++1418.1kb2024-01-10 11:24:022024-01-10 11:24:04

Judging History

你现在查看的是最新测评结果

  • [2024-01-10 11:24:04]
  • 评测
  • 测评结果:40
  • 用时:391ms
  • 内存:15232kb
  • [2024-01-10 11:24:02]
  • 提交

answer

#include <bits/stdc++.h>
#define PII pair<int, int>
using namespace std;
const int N = 1e5 + 3;
const int W = (N * 3);
const int M = 3e5 + 3;
const int mod = 998244353;
const int pr = 3;
const int ig = 332748118;
const int inv2 = 499122177;

inline int read() {
    char ch = getchar(); int x = 0, f = 1;
    while (!isdigit(ch)) {if (ch == '-') {f = -1;} ch = getchar();}
    while (isdigit(ch)) {x = (x << 3) + (x << 1) + ch - 48; ch = getchar();}
    return x * f;
}
int fac[W], inv[W];
inline int add(int x, int y) {x += y; return x >= mod ? x - mod : x;}
inline int del(int x, int y) {x -= y; return x < 0 ? x + mod : x;}
inline void Add(int &x, int y) {x = add(x, y);}
inline void Del(int &x, int y) {x = del(x, y);}
inline int qpow(int x, int y) {
    int res = 1;
    while (y) {
        if (y & 1) res = 1ll * res * x % mod;
        x = 1ll * x * x % mod;
        y >>= 1;
    }
    return res;
}
inline int C(int x, int y) {return (x < 0 || y < 0 || x < y) ? 0 : 1ll * fac[x] * inv[y] % mod * inv[x - y] % mod;}

struct Poly {
    int len, INV, oo;
    vector<int> f, g;

    void NTT(vector<int> &F) {
        int x, y, pw, g;
        for (int j = (len >> 1); j; j >>= 1) {
            g = qpow(pr, (mod - 1) / (j << 1));
            for (int i = 0; i < len; i += (j << 1)) {
                pw = 1;
                for (int k = 0; k < j; ++k, pw = 1ll * pw * g % mod) {
                    x = F[i + k]; y = F[i + j + k];
                    F[i + k] = add(x, y);
                    F[i + j + k] = 1ll * pw * del(x, y) % mod;
                }
            }
        }
    }

    void INTT(vector<int> &F) {
        int x, y, pw, g;
        for (int j = 1; j < len; j <<= 1) {
            g = qpow(ig, (mod - 1) / (j << 1));
            for (int i = 0; i < len; i += (j << 1)) {
                pw = 1;
                for (int k = 0; k < j; ++k, pw = 1ll * pw * g % mod) {
                    x = F[i + k]; y = 1ll * pw * F[i + j + k] % mod;
                    F[i + k] = add(x, y);
                    F[i + j + k] = del(x, y);
                }
            }
        }
        for (int i = 0; i < len; ++i) F[i] = 1ll * F[i] * INV % mod;
    }

    void mul() {
        NTT(f); NTT(g);
        for (int i = 0; i < len; ++i) f[i] = 1ll * f[i] * g[i] % mod;
        INTT(f);
    }
    
    void init(int n) {
        len = 1; oo = n;
        while (len <= n + n) len <<= 1;
        INV = qpow(len, mod - 2);
        f.clear(); g.clear();
        f.resize(len + 5); g.resize(len + 5);
    }

    void get() {for (int i = oo + 1; i < f.size(); ++i) f[i] = g[i] = 0;}
    void clear() {for (int i = 0; i < f.size(); ++i) f[i] = g[i] = 0;}
}t;

int T, c, p, q, L, cnt, pos[10][10], pw[N][10], S[10][10];
PII id[10];

inline int calc(int x, int y, int k) {return 1ll * pw[x][id[k].first] * pw[y][id[k].second] % mod;}

namespace subtask1 {
    const int N1 = 1005;

    int f[N1][N1], g[N1][N1][10];
    
    bool check() {return L <= 1000;}

    void solve() {
        f[0][0] = 1;
        for (int i = 0; i < cnt; ++i) g[0][0][i] = calc(0, 0, i);
        for (int i = 0; i <= L; ++i)
            for (int j = 0; j <= L; ++j) {
                if (i == 0 && j == 0) continue;
                if (i) Add(f[i][j], f[i - 1][j]);
                if (j) Add(f[i][j], f[i][j - 1]);
                for (int k = 0; k < cnt; ++k) {
                    if (i) Add(g[i][j][k], g[i - 1][j][k]);
                    if (j) Add(g[i][j][k], g[i][j - 1][k]);
                    if (j <= i) Add(g[i][j][k], 1ll * f[i][j] * calc(i, j, k) % mod);
                }
            }
        int n, m, ans;
        while (T--) {
            n = read(); m = read(); ans = 0;
            for (int i = 0; i < cnt; ++i) Add(ans, 1ll * g[n][m][i] * read() % mod);
            printf("%d\n", ans);
        }
    }
}

namespace subtask2 {
    int f[N], g[N], n, m, v, ans;

    bool check() {return T == 1 && p == 0 && q == 0;}

    void solve() {
        n = read(); m = read(); v = read();
        if (n == m) {
            g[n] = qpow(4, n);
			f[n] = 1ll * del(1ll * (n + m + 1) * C(n + m, n) % mod, g[n]) * inv2 % mod;
            printf("%lld\n", 1ll * add(f[n], g[n]) * v % mod);
        }else if (n < m) {
			g[0] = 1;
			for (int i = 1; i <= n; ++i) g[i] = 4ll * g[i - 1] % mod;
			for (int i = 0; i <= n; ++i) {
				f[i] = 1ll * del(1ll * (i + i + 1) * C(i + i, i) % mod, g[i]) * inv2 % mod;
				Add(ans, 1ll * add(f[i], g[i]) * del(C(n - i + m - i - 1, n - i), C(n - i + m - i - 1, n - i - 1)) % mod);
			}
			ans = 1ll * ans * v % mod;
			printf("%d\n", ans);
        }else {
			g[0] = 1; ans = 1ll * (n + m + 1) * C(n + m, n) % mod;
			for (int i = 1; i <= m; ++i) g[i] = 4ll * g[i - 1] % mod;
			for (int i = 0; i <= m; ++i) {
				f[i] = 1ll * del(1ll * (i + i + 1) * C(i + i, i) % mod, g[i]) * inv2 % mod;
				Del(ans, 1ll * f[i] * del(C(n - i - 1 + m - i, m - i), C(n - i - 1 + m - i, n - i)) % mod);
			}
			ans = 1ll * ans * v % mod;
			printf("%d\n", ans);
		}
    }
}

namespace subtask3 {
    bool check() {return p == 0 && q == 0;}

    void solve() {
        t.init(L + 5);
        if (c == 0) {
            for (int i = 0, g = 1; i <= L; ++i, g = 4ll * g % mod)
                t.f[i] = 1ll * add(1ll * (i + i + 1) * C(i + i, i) % mod, g) * inv2 % mod;
            int n, m, v;
            while (T--) {
                n = read(); m = read(); v = read();
                printf("%lld\n", 1ll * t.f[n] * v % mod);
            }
        }else if (c > 0) {
            for (int i = 0, g = 1; i <= L; ++i, g = 4ll * g % mod)
                t.f[i] = 1ll * add(1ll * (i + i + 1) * C(i + i, i) % mod, g) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + i + c - 1, i), C(i + i + c - 1, i - 1));
            t.mul();
            int n, m, v;
            while (T--) {
                n = read(); m = read(); v = read();
                printf("%lld\n", 1ll * t.f[n] * v % mod);
            }
        }else {
            c = -c;
            for (int i = 0, g = 1; i <= L; ++i, g = 4ll * g % mod)
                t.f[i] = 1ll * del(1ll * (i + i + 1) * C(i + i, i) % mod, g) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + i + c - 1, i), C(i + i + c - 1, i - 1));
            t.mul();
            int n, m, v;
            while (T--) {
                n = read(); m = read(); v = read();
                printf("%lld\n", 1ll * del(1ll * (n + m + 1) * C(n + m, n) % mod, t.f[m]) * v % mod);
            }
        }
    }
}

namespace subtask4 {
    int ans, a[10], val[N << 1], pre[N << 1], f[N];

    bool check() {return T == 1;}

    int work(int n, int m, int k, int lim) {
        if (n < 0 || m < 0) return 0;
        for (int i = 0; i <= n + m; ++i) {
            val[i] = 1;
            for (int j = 1; j <= k; ++j) val[i] = 1ll * val[i] * (i + j) % mod;
            if (i == 0) pre[i] = val[i];
            else pre[i] = add(pre[i - 1], val[i]);
        }
        int res;
        if (n == m) {
            res = 1ll * pre[n + m] * C(n + m, n) % mod;
            for (int i = 0; i <= n; ++i) Add(res, 1ll * C(i + i, i) * C(n - i + m - i, n - i) % mod * val[i + i] % mod);
            res = 1ll * res * inv2 % mod;
        }else if (n < m) {
            t.init(n);
            for (int i = 0; i <= n; ++i) {
                t.f[i] = 1ll * C(i + i, i) * val[i + i] % mod;
                t.g[i] = C(i + i, i);
            }
            t.mul(); res = 0;
            for (int i = 0, tmp; i <= n; ++i) {
                tmp = 1ll * add(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
                Add(res, 1ll * tmp * del(C(n - i + m - i - 1, n - i), C(n - i + m - i - 1, n - i - 1)) % mod);
            }
        }else {
            t.init(m);
            for (int i = 0; i <= m; ++i) {
                t.f[i] = 1ll * C(i + i, i) * val[i + i] % mod;
                t.g[i] = C(i + i, i);
            }
            t.mul(); res = 1ll * pre[n + m] * C(n + m, n) % mod;
            for (int i = 0, tmp; i <= m; ++i) {
                tmp = 1ll * del(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
                Del(res, 1ll * tmp * del(C(n - i - 1 + m - i, m - i), C(n - i - 1 + m - i, m - i - 1)) % mod);
            }
        }
        for (int o = 0; o < lim; ++o)
            for (int i = o; i <= n && i - o <= m; ++i)
                Del(res, 1ll * C(i + i - o, i) * C(n - i + m - i + o, n - i) % mod * val[i + i - o] % mod);
        for (int o = lim; o < 0; ++o)
            for (int i = 0; i <= n && i - o <= m; ++i)
                Add(res, 1ll * C(i + i - o, i) * C(n - i + m - i + o, n - i) % mod * val[i + i - o] % mod);
        return res;
    }

    void solve() {
        int n, m;
        n = read(); m = read();
        for (int i = 0; i < cnt; ++i) a[i] = read();
        for (int s = 0; s <= p && s <= n; ++s) {
            for (int t = 0, res; t <= q && t <= m; ++t) {
                res = 0;
                for (int u = s; u <= p; ++u)
                    for (int v = t; v <= q; ++v)
                        Add(res, 1ll * a[pos[u][v]] * S[u][s] % mod * S[v][t] % mod);
                Add(ans, 1ll * res * work(n - s, m - t, s + t, t - s) % mod);
            }
        }
        printf("%d\n", ans);
    }
}

namespace subtask5 {
    int mem[10][N], val[N << 1], pre[N << 1], ans, a[10];

    void work(int d, int k, int lim, int op) {
        for (int i = 0; i <= L + L; ++i) {
            val[i] = 1;
            for (int j = 1; j <= k; ++j) val[i] = 1ll * val[i] * (i + j) % mod;
            if (i == 0) pre[i] = val[i];
            else pre[i] = add(pre[i - 1], val[i]);
        }
        for (int i = 0; i <= L; ++i) {
            t.f[i] = 1ll * C(i + i, i) * val[i + i] % mod;
            t.g[i] = C(i + i, i);
        }
        t.mul(); t.get();
        if (d == 0) {
            for (int i = 0; i <= L; ++i) mem[op][i] = 1ll * add(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            t.clear();
            for (int o = 0; o < lim; ++o) {
                for (int i = o; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Del(mem[op][i], t.f[i]);
                t.clear();
            }
            for (int o = lim; o < 0; ++o) {
                for (int i = 0; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Add(mem[op][i], t.f[i]);
                t.clear();
            }
        }else if (d > 0) {
            for (int i = 0; i <= L; ++i) t.f[i] = 1ll * add(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + i + d - 1, i), C(i + i + d - 1, i - 1));
            t.mul();
            for (int i = 0; i <= L; ++i) mem[op][i] = t.f[i];
            t.clear();
            for (int o = 0; o < lim; ++o) {
                for (int i = o; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Del(mem[op][i], t.f[i]);
                t.clear();
            }
            for (int o = lim; o < 0; ++o) {
                for (int i = 0; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Add(mem[op][i], t.f[i]);
                t.clear();
            }
        }else {
            d = -d;
            for (int i = 0; i <= L; ++i) t.f[i] = 1ll * del(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + d - 1 + i, i), C(i + d - 1 + i, i - 1));
            t.mul();
            for (int i = 0; i <= L; ++i) mem[op][i] = t.f[i];
            t.clear(); lim = -lim;
            for (int o = 1; o <= lim; ++o) {
                for (int i = o; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Del(mem[op][i], t.f[i]);
                t.clear();
            }
            for (int o = lim + 1; o <= 0; ++o) {
                for (int i = 0; i <= L; ++i) {
                    t.f[i] = 1ll * C(i + i - o, i) * val[i + i - o] % mod;
                    t.g[L - i] = C(L - i + L - i + d + o, L - i);
                }
                t.mul();
                for (int i = 0; i <= L; ++i) Add(mem[op][i], t.f[i]);
                t.clear();
            }
            for (int i = 0; i <= L; ++i) mem[op][i] = del(1ll * pre[i + i + d] * C(i + i + d, i) % mod, mem[op][i]);
        }
    }
    
    void solve() {
        t.init(L);
        for (int i = 0, s, t; i < cnt; ++i) {
            s = id[i].first; t = id[i].second;
            work(c - t + s, s + t, t - s, i);
        }
        int n, m;
        while (T--) {
            n = read(); m = read();
            for (int i = 0; i < cnt; ++i) a[i] = read();
            ans = 0;
            for (int s = 0; s <= p && s <= n; ++s) {
                for (int t = 0; t <= q && t <= m; ++t) {
                    int res = 0;
                    for (int u = s; u <= p; ++u)
                        for (int v = t; v <= q; ++v)
                            Add(res, 1ll * S[u][s] * S[v][t] % mod * a[pos[u][v]] % mod);
                    if (c - t + s >= 0) Add(ans, 1ll * res * mem[pos[s][t]][n - s] % mod);
                    else Add(ans, 1ll * res * mem[pos[s][t]][m - t] % mod);
                }
            }
            printf("%d\n", ans);
        }
    }
}

namespace subtask6 {
    int mem[10][N], val[N << 1], pre[N << 1], ans, a[10], b[10];

    void work(int d, int k, int op) {
        for (int i = 0; i <= L + L; ++i) {
            val[i] = 1;
            for (int j = 1; j <= k; ++j) val[i] = 1ll * val[i] * (i + j) % mod;
            if (i == 0) pre[i] = val[i];
            else pre[i] = add(pre[i - 1], val[i]);
        }
        for (int i = 0; i <= L; ++i) {
            t.f[i] = 1ll * C(i + i, i) * val[i + i] % mod;
            t.g[i] = C(i + i, i);
        }
        t.mul(); t.get();
        if (d == 0) {
            for (int i = 0; i <= L; ++i) mem[op][i] = 1ll * add(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            t.clear();
        }else if (d > 0) {
            for (int i = 0; i <= L; ++i) t.f[i] = 1ll * add(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + i + d - 1, i), C(i + i + d - 1, i - 1));
            t.mul();
            for (int i = 0; i <= L; ++i) mem[op][i] = t.f[i];
            t.clear();
        }else {
            d = -d;
            for (int i = 0; i <= L; ++i) t.f[i] = 1ll * del(1ll * pre[i + i] * C(i + i, i) % mod, t.f[i]) * inv2 % mod;
            for (int i = 0; i <= L; ++i) t.g[i] = del(C(i + d - 1 + i, i), C(i + d - 1 + i, i - 1));
            t.mul();
            for (int i = 0; i <= L; ++i) mem[op][i] = t.f[i];
            t.clear();
            for (int i = 0; i <= L; ++i) mem[op][i] = del(1ll * pre[i + i + d] * C(i + i + d, i) % mod, mem[op][i]);
        }
    }
    
    void solve() {
        t.init(L);
        for (int i = 0, s, t; i < cnt; ++i) {
            s = id[i].first; t = id[i].second;
            work(c - t + s, s + t, i);
        }
        int n, m;
        while (T--) {
            n = read(); m = read();
            for (int i = 0; i < cnt; ++i) a[i] = read();
            ans = 0;
            for (int i = 0; i <= p; ++i)
                for (int j = 0; j <= q; ++j) {
                    b[pos[i][j]] = 0;
                    for (int u = i; u <= p; ++u)
                        for (int v = j; v <= q; ++v)
                            Add(b[pos[i][j]], 1ll * C(u, i) * pw[n][u - i] % mod * C(v, j) % mod * pw[m][v - j] % mod * a[pos[u][v]] % mod);
                }
            for (int s = 0; s <= p && s <= n; ++s) {
                for (int t = 0; t <= q && t <= m; ++t) {
                    int res = 0;
                    for (int i = s; i <= p; ++i)
                        for (int j = t; j <= q; ++j) {
                            if ((i + j) & 1) Del(res, 1ll * b[pos[i][j]] * S[i][s] % mod * S[j][t] % mod);
                            else Add(res, 1ll * b[pos[i][j]] * S[i][s] % mod * S[j][t] % mod);
                        }
                    if (c - t + s >= 0) Add(ans, 1ll * res * mem[pos[s][t]][n - s] % mod);
                    else Add(ans, 1ll * res * mem[pos[s][t]][m - t] % mod);
                }
            }
            printf("%d\n", ans);
        }
    }
}

int main() {
    fac[0] = 1;
    for (int i = 1; i <= M; ++i) fac[i] = 1ll * fac[i - 1] * i % mod;
    inv[M] = qpow(fac[M], mod - 2);
    for (int i = M; i >= 1; --i) inv[i - 1] = 1ll * inv[i] * i % mod;
    S[0][0] = 1;
    for (int i = 1; i < 10; ++i)
        for (int j = 1; j <= i; ++j)
            S[i][j] = add(S[i - 1][j - 1], 1ll * S[i - 1][j] * j % mod);
    T = read(); c = read(); p = read(); q = read(); L = read(); L = max(L, L + c);
    for (int i = 0; i <= p; ++i)
        for (int j = 0; j <= q; ++j)
            id[pos[i][j] = cnt++] = make_pair(i, j);
    for (int i = 0; i <= L; ++i) {
        pw[i][0] = 1;
        for (int j = 1; j <= max(p, q); ++j) pw[i][j] = 1ll * pw[i][j - 1] * i % mod;
    }

    return subtask6 :: solve(), 0;

    if (subtask1 :: check()) subtask1 :: solve();
    else if (subtask2 :: check()) subtask2 :: solve();
    else if (subtask3 :: check()) subtask3 :: solve();
    else if (subtask4 :: check()) subtask4 :: solve();
    else subtask5 :: solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 3ms
memory: 6368kb

input:

1 -10 1 2 1000
825 815
107973512 400177523 812303207
164088430 603506669 337780072

output:

274287722

result:

wrong answer 1st numbers differ - expected: '360076089', found: '274287722'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 20
Accepted

Test #9:

score: 20
Accepted
time: 71ms
memory: 13340kb

input:

1 4683 0 0 95317
86560 91243
412303217

output:

952052072

result:

ok 1 number(s): "952052072"

Test #10:

score: 0
Accepted
time: 67ms
memory: 13396kb

input:

1 -24796 0 0 100000
93338 68542
849332154

output:

980840409

result:

ok 1 number(s): "980840409"

Test #11:

score: 0
Accepted
time: 68ms
memory: 13388kb

input:

1 40156 0 0 59844
39551 79707
566086447

output:

620552907

result:

ok 1 number(s): "620552907"

Test #12:

score: 0
Accepted
time: 68ms
memory: 13464kb

input:

1 -714 0 0 100000
72672 71958
817542139

output:

799272798

result:

ok 1 number(s): "799272798"

Test #13:

score: 0
Accepted
time: 71ms
memory: 13340kb

input:

1 23418 0 0 76582
6862 30280
442920403

output:

642352133

result:

ok 1 number(s): "642352133"

Test #14:

score: 0
Accepted
time: 67ms
memory: 13368kb

input:

1 42983 0 0 57017
42753 85736
380012689

output:

828068267

result:

ok 1 number(s): "828068267"

Test #15:

score: 0
Accepted
time: 71ms
memory: 13344kb

input:

1 -25448 0 0 100000
47466 22018
617788426

output:

485886943

result:

ok 1 number(s): "485886943"

Test #16:

score: 0
Accepted
time: 72ms
memory: 13292kb

input:

1 -35138 0 0 100000
49912 14774
472000456

output:

323681794

result:

ok 1 number(s): "323681794"

Test #17:

score: 0
Accepted
time: 72ms
memory: 13360kb

input:

1 15928 0 0 84072
57657 73585
31014982

output:

184096139

result:

ok 1 number(s): "184096139"

Test #18:

score: 0
Accepted
time: 71ms
memory: 13352kb

input:

1 5316 0 0 94684
36186 41502
601085246

output:

51887433

result:

ok 1 number(s): "51887433"

Subtask #4:

score: 20
Accepted

Dependency #3:

100%
Accepted

Test #19:

score: 20
Accepted
time: 88ms
memory: 13360kb

input:

100000 43925 0 0 56075
36770 80695
880793638
55133 99058
946571985
27169 71094
601132030
42027 85952
954509221
1261 45186
326012305
12030 55955
997023025
9914 53839
788665071
39921 83846
193760311
25774 69699
584278712
28428 72353
45133606
32564 76489
40466335
35483 79408
491164633
1587 45512
842380...

output:

332757564
673855662
612475468
823636534
480158617
642667251
497333900
509207503
811150980
417148607
922658720
104640134
806209587
173065009
605751740
862381731
38248058
821044620
841331399
289617079
251770008
141909273
16627417
373489864
231237810
941325561
178798279
674579054
924181592
61271475
964...

result:

ok 100000 numbers

Test #20:

score: 0
Accepted
time: 88ms
memory: 13464kb

input:

100000 -24410 0 0 100000
88811 64401
883320435
98680 74270
679694811
25736 1326
585801443
58045 33635
248117495
75671 51261
370680099
54439 30029
971994977
59364 34954
824527105
83366 58956
743467199
86814 62404
560320056
79263 54853
982330282
31352 6942
755041686
56396 31986
625187969
95451 71041
6...

output:

944753157
183242929
363439527
347484131
162238407
874219996
466587038
69445583
299052607
25676433
596600163
562511304
969440848
734888105
717978251
646284734
285785033
177137639
757127623
981404389
646133036
419072122
570786562
49543639
324434058
643959988
425580060
576826099
385768604
231992533
414...

result:

ok 100000 numbers

Test #21:

score: 0
Accepted
time: 89ms
memory: 13380kb

input:

100000 -5861 0 0 100000
16952 11091
854232561
61287 55426
808396787
36941 31080
498670332
78084 72223
125065027
77939 72078
113005933
66811 60950
561023395
8690 2829
85984152
86780 80919
73284065
24701 18840
962634657
49186 43325
820164989
13544 7683
181059009
82733 76872
475302128
59169 53308
30753...

output:

953252694
312702564
226453117
67575786
903898714
513740725
876463803
777825703
146006471
2374918
297784488
386629852
320437877
988885626
718795318
32469771
761373569
413225682
535374528
890489090
946876926
547336815
741402601
164218598
624314043
440338456
358510966
78123388
844278570
353784116
33016...

result:

ok 100000 numbers

Test #22:

score: 0
Accepted
time: 84ms
memory: 13396kb

input:

100000 36351 0 0 63649
63623 99974
215842464
38932 75283
281762844
36628 72979
412528519
32243 68594
274539771
12583 48934
35262820
58794 95145
584821840
55654 92005
405023451
54594 90945
121054191
13799 50150
945750972
3396 39747
123637787
24436 60787
60557209
28533 64884
16469063
62629 98980
97582...

output:

174547901
368722952
48857280
38439764
222892265
312334973
776332784
870332855
155759525
948664848
557524993
498142735
312543625
96578298
812380665
262256294
625974911
11727861
934671647
410990281
662266734
602386252
129790362
105856770
514479617
606174145
351070683
902755038
185658666
319441312
6292...

result:

ok 100000 numbers

Test #23:

score: 0
Accepted
time: 88ms
memory: 13464kb

input:

100000 -30740 0 0 100000
68807 38067
675336699
46303 15563
123039099
67930 37190
232230088
54579 23839
35352609
92730 61990
284529851
67176 36436
665212494
57299 26559
133796107
49959 19219
33773652
84236 53496
372759887
99484 68744
426876149
34577 3837
572112278
61585 30845
172184077
77857 47117
90...

output:

36920501
226235095
750211143
333187562
373628984
295265220
37657937
466124753
990905489
551665113
446537030
431018050
86173594
169742883
218477019
236694053
535757873
691309698
571533347
44799594
978410954
207318736
924231440
714349634
256005837
765738237
355457430
213887617
753194413
829442039
4620...

result:

ok 100000 numbers

Test #24:

score: 0
Accepted
time: 91ms
memory: 13440kb

input:

100000 -38460 0 0 100000
51513 13053
225553548
46939 8479
742237301
76548 38088
403832837
58372 19912
532371282
69056 30596
227486715
57631 19171
992007340
43442 4982
456446541
98517 60057
139482341
93593 55133
617856070
94670 56210
632588368
61305 22845
540079128
42989 4529
243030634
61305 22845
60...

output:

264377260
988347451
122980170
868000378
424450627
937049667
82203152
65434176
511951571
866041634
172830523
592267120
339840284
510003002
301057898
661439490
614715916
352897087
347380257
99947743
217323734
533045349
197971764
276536330
181518107
810369320
38076519
795663640
628535813
745310656
9165...

result:

ok 100000 numbers

Test #25:

score: 0
Accepted
time: 92ms
memory: 13284kb

input:

100000 -21781 0 0 100000
98045 76264
260148888
51675 29894
775592370
96562 74781
6673060
61291 39510
561247689
51571 29790
374708153
56745 34964
902344534
38026 16245
499287321
46349 24568
80542300
44223 22442
235391104
44474 22693
180934225
73722 51941
571180203
98775 76994
186933783
37624 15843
66...

output:

403860096
918023019
505862766
325574001
758856670
454849577
390589711
142177895
563486806
252645563
120628328
553587845
992851487
933771813
401873497
993790093
184884214
294133840
346874311
513672329
312442149
595232497
772328343
814181956
380438506
927087216
253560503
970622427
910857175
430512071
...

result:

ok 100000 numbers

Subtask #5:

score: 0
Skipped

Dependency #1:

0%

Subtask #6:

score: 0
Wrong Answer

Test #41:

score: 0
Wrong Answer
time: 391ms
memory: 15232kb

input:

100000 0 2 1 100000
48964 48964
666670967 90494987
74847122 615108201
29533064 582540229
14418 14418
391779909 223696706
701170191 885097597
551643398 25626747
81584 81584
951326734 520293397
13860946 896899117
821166399 282263457
76849 76849
598606953 879771697
930252135 671750715
673503431 3060699...

output:

349193426
132134466
882121649
13064051
136892091
436386723
190167600
497685621
267601879
90305172
349256567
771432610
512341649
125140260
41360337
71826978
262172187
464180243
95419909
357581303
138332310
209815162
682536532
366204053
284671028
873546503
439352607
973509632
157277900
320227938
10524...

result:

wrong answer 1st numbers differ - expected: '513261452', found: '349193426'

Subtask #7:

score: 0
Skipped

Dependency #1:

0%