QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#573101#7128. Huge productsUrdWA 0ms3728kbC++171.1kb2024-09-18 17:21:532024-09-18 17:21:54

Judging History

This is the latest submission verdict.

  • [2024-09-18 17:21:54]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3728kb
  • [2024-09-18 17:21:53]
  • Submitted

answer

#include <bits/stdc++.h>
#define ALL(v) begin(v), end(v)

using i64 = int64_t;

const int kMod = 1E9 + 7;
auto S(int n) -> int { return i64{n + 1} * n / 2 % kMod; }

int ans;
i64 a, b, c, d, e;
std::array<i64, 11> v;

auto main() -> int {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr), std::cout.tie(nullptr);

  for (int i = 1; i <= 10; ++i) std::cin >> v[i];
  a = v[2] + 2 * v[4] + 3 * v[8], b = v[6], c = v[10];
  d = v[3] + 2 * v[9], e = v[5];
  ans = (a + 1) % kMod * ((b + d + 1) % kMod) % kMod * ((c + e + 1) % kMod) %
        kMod;
  if (c - e) {
    (ans += std::min(c, e) % kMod *
            ((std::max(c, e) - std::min(c, e) - 1) % kMod) % kMod *
            ((b + d + 1) % kMod) % kMod) %= kMod;
  }
  if (b - d) {
    (ans += std::min(b, d) % kMod *
            ((std::max(b, d) - std::min(b, d) - 1) % kMod) *
            ((c + e + 1) % kMod) % kMod) %= kMod;
  }
  (ans += S(std::min(c, e) % kMod) * ((b + d + 1) % kMod) % kMod) %= kMod;
  (ans += S(std::min(b, d) % kMod) * ((c + e + 1) % kMod) % kMod) %= kMod;
  std::cout << i64{ans} * (v[7] + 1) % kMod << '\n';

  return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3608kb

input:

0 1 0 1 0 0 0 1 0 0

output:

7

result:

ok 1 number(s): "7"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3688kb

input:

0 1000000000 100000000 0 0 0 0 0 0 0

output:

400000001

result:

ok 1 number(s): "400000001"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

5 1 1 5 0 0 3 4 4 0

output:

960

result:

ok 1 number(s): "960"

Test #4:

score: -100
Wrong Answer
time: 0ms
memory: 3728kb

input:

0 3 4 0 1 0 2 2 0 2

output:

615

result:

wrong answer 1st numbers differ - expected: '630', found: '615'