QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#765797 | #8049. Equal Sums | guosoun | WA | 1354ms | 7136kb | C++17 | 1.3kb | 2024-11-20 15:18:26 | 2024-11-20 15:18:31 |
Judging History
answer
#include <bits/stdc++.h>
using ll = long long;
const int mod = 998244353;
int main() {
std::cin.tie(0)->sync_with_stdio(0);
const int MAXV = 500;
int n, m;
std::cin >> n >> m;
std::vector<std::pair<int, int>> vx(n), vy(m);
for (auto &[l, r] : vx) std::cin >> l >> r;
for (auto &[l, r] : vy) std::cin >> l >> r;
std::vector<std::array<int, 2 * MAXV + 1>> dp(m + 1);
dp[0][MAXV] = 1;
dp[0][MAXV + 1] = -1;
for (int i = 0; i <= n; i++) {
std::vector<std::array<int, 2 * MAXV + 1>> nxt(m + 1);
for (int j = 0; j <= m; j++) {
for (int v = 1; v <= MAXV * 2; v++) (dp[j][v] += dp[j][v - 1]) %= mod;
if (i < n) {
auto [li, ri] = vx[i];
for (int v = -MAXV; v <= 0; v++) {
(nxt[j][v + li + MAXV] += dp[j][v + MAXV]) %= mod;
(nxt[j][v + ri + MAXV + 1] -= dp[j][v + MAXV]) %= mod;
}
}
if (j < m) {
auto [lj, rj] = vy[j];
for (int v = 1; v <= MAXV; v++) {
(dp[j + 1][v - rj + MAXV] += dp[j][v + MAXV]) %= mod;
(dp[j + 1][v - lj + MAXV + 1] -= dp[j][v + MAXV]) %= mod;
}
}
}
if (i) {
for (int j = 1; j <= m; j++) std::cout << (dp[j][MAXV] + mod) % mod << ' ';
std::cout << '\n';
}
dp = nxt;
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3612kb
input:
2 3 1 2 2 3 1 4 2 2 1 3
output:
2 0 0 3 4 4
result:
ok 6 numbers
Test #2:
score: -100
Wrong Answer
time: 1354ms
memory: 7136kb
input:
500 500 19 458 1 480 7 485 50 461 12 476 15 461 48 466 40 453 46 467 9 458 27 478 26 472 46 459 29 490 6 500 17 487 48 484 28 472 28 459 25 480 4 491 29 481 36 460 2 491 44 499 22 473 20 458 4 483 27 471 2 496 11 461 43 450 2 478 37 466 15 459 42 482 7 451 19 455 2 453 47 475 48 450 1 474 46 471 9 4...
output:
411 79401 9145270 673005095 180581065 984223118 586589234 293043270 404363796 865361724 665487988 118838806 926189944 226338288 521479857 808644951 786041288 340769021 177100 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
wrong answer 7002nd numbers differ - expected: '239986943', found: '452150911'