Submission #383173

# Submission time Handle Problem Language Result Execution time Memory
383173 2021-03-29T03:39:51 Z noshi91 Aliens (IOI16_aliens) C++14
100 / 100
1543 ms 8788 KB
#include "aliens.h"

#include <cstddef>
#include <cstdint>

#include <vector>

namespace n91 {

using i32 = std::int32_t;
using i64 = std::int64_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;
using isize = std::ptrdiff_t;
using usize = std::size_t;

template <class Select, class Update>
void larsch(const std::size_t n, Select select, Update update) {
  using usize = std::size_t;

  class header {
  public:
    usize r;
    usize c;
  };

  class node {
  public:
    std::vector<usize> cols;
    usize prev;

    std::vector<header> tent;
    usize pcnt;
    usize curc;

    node(const usize n) : cols(), prev(0), tent(), pcnt(0), curc(0) {
      cols.reserve(n);
      tent.reserve(n / 2);
    }
  };

  std::vector<node> data;

  {
    usize m = n;
    while (m != 0) {
      data.emplace_back(m);
      m /= 2;
    }
  }

  const auto act = [&](const auto &act, const usize layer,
                       const usize row) -> usize {
    node &t = data[layer];

    if ((row >> layer) % 2 == 0) {
      usize res = t.prev;
      usize idx = t.curc;
      while (idx != t.cols.size()) {
        if (select(row, t.cols[res], t.cols[idx])) {
          res = idx;
        }
        idx += 1;
      }
      t.prev = res;
      return t.cols[res];
    }

    const usize a = [&]() {
      const usize step = static_cast<usize>(1) << layer;
      if (row + step > n) {
        return t.cols.back();
      }
      while (t.curc != t.cols.size()) {
        const usize c = t.cols[t.curc];
        while (t.tent.size() != t.pcnt &&
               select(t.tent.back().r, t.tent.back().c, c)) {
          t.tent.pop_back();
        }
        if (t.tent.size() == t.pcnt) {
          t.tent.push_back({row + step, c});
        } else if (t.tent.back().r + step * 2 <= n) {
          t.tent.push_back({t.tent.back().r + step * 2, c});
        }
        t.curc += 1;
      }
      if (t.pcnt != t.tent.size()) {
        data[layer + 1].cols.push_back(t.tent[t.pcnt].c);
        t.pcnt += 1;
      }
      return act(act, layer + 1, row + step);
    }();

    usize res = t.prev;
    usize idx = t.prev;
    while (t.cols[idx] != a) {
      idx += 1;
      if (select(row, t.cols[res], t.cols[idx])) {
        res = idx;
      }
    }
    t.prev = idx;
    return t.cols[res];
  };

  for (usize i = 0; i != n;) {
    data[0].cols.push_back(i);
    i += 1;
    update(i, act(act, 0, i));
  }
}

} // namespace n91

#include <algorithm>
#include <tuple>
#include <vector>

using int64 = long long;

int64 square(int64 x) { return x * x; }

int64 take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c) {
  struct point {
    int64 r;
    int64 c;
  };
  std::vector<point> points(n);
  for (int i = 0; i != n; i += 1) {
    if (r[i] < c[i]) {
      points[i] = {r[i], c[i]};
    } else {
      points[i] = {c[i], r[i]};
    }
  }
  std::sort(points.begin(), points.end(), [](const auto &l, const auto &r) {
    if (l.r != r.r) {
      return l.r < r.r;
    } else {
      return l.c > r.c;
    }
  });

  {
    std::vector<point> red;
    for (const auto &p : points) {
      if (red.empty() || red.back().c < p.c) {
        red.push_back(p);
      }
    }
    points = red;
    n = points.size();
  }

  const auto L = [&](int64 lambda) -> int64 {
    const auto c_lambda = [&](int i, int j) -> int64 {
      int64 ret = square(points[j - 1].c + 1 - points[i].r);
      if (i != 0 && points[i - 1].c + 1 - points[i].r > 0) {
        ret -= square(points[i - 1].c + 1 - points[i].r);
      }
      return ret + lambda;
    };

    std::vector<int64> d(n + 1);
    d[0] = 0;
    const auto get = [&](int i, int j) -> int64 {
      return d[j] + c_lambda(j, i);
    };
    const auto select = [&](int i, int j0, int j1) -> bool {
      return get(i, j0) > get(i, j1);
    };
    const auto update = [&](int i, int j) { d[i] = get(i, j); };

    n91::larsch(n, select, update);

    return d[n] - lambda * k;
  };

  int64 l_ = -1;
  int64 r_ = int64(m) * m + 1;
  while (r_ - l_ > 2) {
    int64 ll = (l_ + l_ + r_) / 3;
    int64 rr = (l_ + r_ + r_) / 3;
    if (L(ll) < L(rr)) {
      l_ = ll;
    } else {
      r_ = rr;
    }
  }

  return L((l_ + r_) / 2);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 4
2 Correct 1 ms 384 KB Correct answer: answer = 4
3 Correct 1 ms 364 KB Correct answer: answer = 4
4 Correct 1 ms 364 KB Correct answer: answer = 12
5 Correct 1 ms 364 KB Correct answer: answer = 52
6 Correct 1 ms 364 KB Correct answer: answer = 210
7 Correct 1 ms 364 KB Correct answer: answer = 88
8 Correct 1 ms 364 KB Correct answer: answer = 7696
9 Correct 1 ms 364 KB Correct answer: answer = 1
10 Correct 1 ms 364 KB Correct answer: answer = 2374
11 Correct 1 ms 364 KB Correct answer: answer = 9502
12 Correct 1 ms 364 KB Correct answer: answer = 49
13 Correct 1 ms 364 KB Correct answer: answer = 151
14 Correct 1 ms 364 KB Correct answer: answer = 7550
15 Correct 1 ms 364 KB Correct answer: answer = 7220
16 Correct 1 ms 364 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 364 KB Correct answer: answer = 10000
19 Correct 1 ms 364 KB Correct answer: answer = 624
20 Correct 1 ms 364 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 1
2 Correct 1 ms 364 KB Correct answer: answer = 4
3 Correct 2 ms 364 KB Correct answer: answer = 1
4 Correct 1 ms 364 KB Correct answer: answer = 5
5 Correct 1 ms 364 KB Correct answer: answer = 41
6 Correct 1 ms 364 KB Correct answer: answer = 71923
7 Correct 3 ms 364 KB Correct answer: answer = 77137
8 Correct 4 ms 364 KB Correct answer: answer = 764
9 Correct 3 ms 364 KB Correct answer: answer = 250000
10 Correct 4 ms 364 KB Correct answer: answer = 500
11 Correct 1 ms 364 KB Correct answer: answer = 32
12 Correct 4 ms 384 KB Correct answer: answer = 130050
13 Correct 4 ms 364 KB Correct answer: answer = 5110
14 Correct 2 ms 364 KB Correct answer: answer = 2626
15 Correct 2 ms 364 KB Correct answer: answer = 796
16 Correct 4 ms 364 KB Correct answer: answer = 7580
17 Correct 4 ms 364 KB Correct answer: answer = 1904
18 Correct 3 ms 364 KB Correct answer: answer = 996004
19 Correct 5 ms 364 KB Correct answer: answer = 38817
20 Correct 4 ms 364 KB Correct answer: answer = 4096
21 Correct 1 ms 364 KB Correct answer: answer = 1
22 Correct 1 ms 364 KB Correct answer: answer = 1
23 Correct 4 ms 364 KB Correct answer: answer = 2040
24 Correct 1 ms 364 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 4
2 Correct 1 ms 384 KB Correct answer: answer = 4
3 Correct 1 ms 364 KB Correct answer: answer = 4
4 Correct 1 ms 364 KB Correct answer: answer = 12
5 Correct 1 ms 364 KB Correct answer: answer = 52
6 Correct 1 ms 364 KB Correct answer: answer = 210
7 Correct 1 ms 364 KB Correct answer: answer = 88
8 Correct 1 ms 364 KB Correct answer: answer = 7696
9 Correct 1 ms 364 KB Correct answer: answer = 1
10 Correct 1 ms 364 KB Correct answer: answer = 2374
11 Correct 1 ms 364 KB Correct answer: answer = 9502
12 Correct 1 ms 364 KB Correct answer: answer = 49
13 Correct 1 ms 364 KB Correct answer: answer = 151
14 Correct 1 ms 364 KB Correct answer: answer = 7550
15 Correct 1 ms 364 KB Correct answer: answer = 7220
16 Correct 1 ms 364 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 364 KB Correct answer: answer = 10000
19 Correct 1 ms 364 KB Correct answer: answer = 624
20 Correct 1 ms 364 KB Correct answer: answer = 10000
21 Correct 1 ms 364 KB Correct answer: answer = 1
22 Correct 1 ms 364 KB Correct answer: answer = 4
23 Correct 2 ms 364 KB Correct answer: answer = 1
24 Correct 1 ms 364 KB Correct answer: answer = 5
25 Correct 1 ms 364 KB Correct answer: answer = 41
26 Correct 1 ms 364 KB Correct answer: answer = 71923
27 Correct 3 ms 364 KB Correct answer: answer = 77137
28 Correct 4 ms 364 KB Correct answer: answer = 764
29 Correct 3 ms 364 KB Correct answer: answer = 250000
30 Correct 4 ms 364 KB Correct answer: answer = 500
31 Correct 1 ms 364 KB Correct answer: answer = 32
32 Correct 4 ms 384 KB Correct answer: answer = 130050
33 Correct 4 ms 364 KB Correct answer: answer = 5110
34 Correct 2 ms 364 KB Correct answer: answer = 2626
35 Correct 2 ms 364 KB Correct answer: answer = 796
36 Correct 4 ms 364 KB Correct answer: answer = 7580
37 Correct 4 ms 364 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 5 ms 364 KB Correct answer: answer = 38817
40 Correct 4 ms 364 KB Correct answer: answer = 4096
41 Correct 1 ms 364 KB Correct answer: answer = 1
42 Correct 1 ms 364 KB Correct answer: answer = 1
43 Correct 4 ms 364 KB Correct answer: answer = 2040
44 Correct 1 ms 364 KB Correct answer: answer = 2
45 Correct 1 ms 364 KB Correct answer: answer = 4
46 Correct 1 ms 384 KB Correct answer: answer = 9
47 Correct 1 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 364 KB Correct answer: answer = 21
49 Correct 1 ms 364 KB Correct answer: answer = 71
50 Correct 1 ms 364 KB Correct answer: answer = 77
51 Correct 1 ms 364 KB Correct answer: answer = 400
52 Correct 1 ms 364 KB Correct answer: answer = 996004
53 Correct 1 ms 364 KB Correct answer: answer = 997310
54 Correct 1 ms 364 KB Correct answer: answer = 990781
55 Correct 1 ms 364 KB Correct answer: answer = 996545
56 Correct 1 ms 364 KB Correct answer: answer = 484
57 Correct 1 ms 364 KB Correct answer: answer = 484
58 Correct 4 ms 364 KB Correct answer: answer = 63501
59 Correct 4 ms 364 KB Correct answer: answer = 323501
60 Correct 5 ms 384 KB Correct answer: answer = 752500
61 Correct 3 ms 384 KB Correct answer: answer = 761480
62 Correct 3 ms 364 KB Correct answer: answer = 758932
63 Correct 1 ms 364 KB Correct answer: answer = 1000000
64 Correct 4 ms 364 KB Correct answer: answer = 750500
65 Correct 1 ms 364 KB Correct answer: answer = 1000000
66 Correct 1 ms 364 KB Correct answer: answer = 250000
67 Correct 1 ms 364 KB Correct answer: answer = 250000
68 Correct 1 ms 364 KB Correct answer: answer = 1000000
69 Correct 1 ms 364 KB Correct answer: answer = 994009
70 Correct 2 ms 364 KB Correct answer: answer = 59315
71 Correct 3 ms 364 KB Correct answer: answer = 25454
72 Correct 3 ms 364 KB Correct answer: answer = 1504
73 Correct 2 ms 364 KB Correct answer: answer = 37486
74 Correct 3 ms 364 KB Correct answer: answer = 4284
75 Correct 1 ms 364 KB Correct answer: answer = 158008
76 Correct 2 ms 364 KB Correct answer: answer = 51860
77 Correct 2 ms 364 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 4
2 Correct 1 ms 384 KB Correct answer: answer = 4
3 Correct 1 ms 364 KB Correct answer: answer = 4
4 Correct 1 ms 364 KB Correct answer: answer = 12
5 Correct 1 ms 364 KB Correct answer: answer = 52
6 Correct 1 ms 364 KB Correct answer: answer = 210
7 Correct 1 ms 364 KB Correct answer: answer = 88
8 Correct 1 ms 364 KB Correct answer: answer = 7696
9 Correct 1 ms 364 KB Correct answer: answer = 1
10 Correct 1 ms 364 KB Correct answer: answer = 2374
11 Correct 1 ms 364 KB Correct answer: answer = 9502
12 Correct 1 ms 364 KB Correct answer: answer = 49
13 Correct 1 ms 364 KB Correct answer: answer = 151
14 Correct 1 ms 364 KB Correct answer: answer = 7550
15 Correct 1 ms 364 KB Correct answer: answer = 7220
16 Correct 1 ms 364 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 364 KB Correct answer: answer = 10000
19 Correct 1 ms 364 KB Correct answer: answer = 624
20 Correct 1 ms 364 KB Correct answer: answer = 10000
21 Correct 1 ms 364 KB Correct answer: answer = 1
22 Correct 1 ms 364 KB Correct answer: answer = 4
23 Correct 2 ms 364 KB Correct answer: answer = 1
24 Correct 1 ms 364 KB Correct answer: answer = 5
25 Correct 1 ms 364 KB Correct answer: answer = 41
26 Correct 1 ms 364 KB Correct answer: answer = 71923
27 Correct 3 ms 364 KB Correct answer: answer = 77137
28 Correct 4 ms 364 KB Correct answer: answer = 764
29 Correct 3 ms 364 KB Correct answer: answer = 250000
30 Correct 4 ms 364 KB Correct answer: answer = 500
31 Correct 1 ms 364 KB Correct answer: answer = 32
32 Correct 4 ms 384 KB Correct answer: answer = 130050
33 Correct 4 ms 364 KB Correct answer: answer = 5110
34 Correct 2 ms 364 KB Correct answer: answer = 2626
35 Correct 2 ms 364 KB Correct answer: answer = 796
36 Correct 4 ms 364 KB Correct answer: answer = 7580
37 Correct 4 ms 364 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 5 ms 364 KB Correct answer: answer = 38817
40 Correct 4 ms 364 KB Correct answer: answer = 4096
41 Correct 1 ms 364 KB Correct answer: answer = 1
42 Correct 1 ms 364 KB Correct answer: answer = 1
43 Correct 4 ms 364 KB Correct answer: answer = 2040
44 Correct 1 ms 364 KB Correct answer: answer = 2
45 Correct 1 ms 364 KB Correct answer: answer = 4
46 Correct 1 ms 384 KB Correct answer: answer = 9
47 Correct 1 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 364 KB Correct answer: answer = 21
49 Correct 1 ms 364 KB Correct answer: answer = 71
50 Correct 1 ms 364 KB Correct answer: answer = 77
51 Correct 1 ms 364 KB Correct answer: answer = 400
52 Correct 1 ms 364 KB Correct answer: answer = 996004
53 Correct 1 ms 364 KB Correct answer: answer = 997310
54 Correct 1 ms 364 KB Correct answer: answer = 990781
55 Correct 1 ms 364 KB Correct answer: answer = 996545
56 Correct 1 ms 364 KB Correct answer: answer = 484
57 Correct 1 ms 364 KB Correct answer: answer = 484
58 Correct 4 ms 364 KB Correct answer: answer = 63501
59 Correct 4 ms 364 KB Correct answer: answer = 323501
60 Correct 5 ms 384 KB Correct answer: answer = 752500
61 Correct 3 ms 384 KB Correct answer: answer = 761480
62 Correct 3 ms 364 KB Correct answer: answer = 758932
63 Correct 1 ms 364 KB Correct answer: answer = 1000000
64 Correct 4 ms 364 KB Correct answer: answer = 750500
65 Correct 1 ms 364 KB Correct answer: answer = 1000000
66 Correct 1 ms 364 KB Correct answer: answer = 250000
67 Correct 1 ms 364 KB Correct answer: answer = 250000
68 Correct 1 ms 364 KB Correct answer: answer = 1000000
69 Correct 1 ms 364 KB Correct answer: answer = 994009
70 Correct 2 ms 364 KB Correct answer: answer = 59315
71 Correct 3 ms 364 KB Correct answer: answer = 25454
72 Correct 3 ms 364 KB Correct answer: answer = 1504
73 Correct 2 ms 364 KB Correct answer: answer = 37486
74 Correct 3 ms 364 KB Correct answer: answer = 4284
75 Correct 1 ms 364 KB Correct answer: answer = 158008
76 Correct 2 ms 364 KB Correct answer: answer = 51860
77 Correct 2 ms 364 KB Correct answer: answer = 12985
78 Correct 2 ms 492 KB Correct answer: answer = 997864126212
79 Correct 3 ms 492 KB Correct answer: answer = 998608411647
80 Correct 3 ms 492 KB Correct answer: answer = 995265560477
81 Correct 30 ms 620 KB Correct answer: answer = 10125000
82 Correct 32 ms 620 KB Correct answer: answer = 2291668
83 Correct 16 ms 512 KB Correct answer: answer = 42388
84 Correct 16 ms 492 KB Correct answer: answer = 10318
85 Correct 15 ms 492 KB Correct answer: answer = 3416
86 Correct 60 ms 620 KB Correct answer: answer = 331708193881
87 Correct 65 ms 748 KB Correct answer: answer = 2861193756
88 Correct 75 ms 620 KB Correct answer: answer = 114646930
89 Correct 34 ms 620 KB Correct answer: answer = 9280921
90 Correct 51 ms 620 KB Correct answer: answer = 999984053400
91 Correct 66 ms 620 KB Correct answer: answer = 750935949134
92 Correct 2 ms 492 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 492 KB Correct answer: answer = 998762383161
94 Correct 63 ms 748 KB Correct answer: answer = 23017412908
95 Correct 3 ms 492 KB Correct answer: answer = 728143410622
96 Correct 2 ms 492 KB Correct answer: answer = 2
97 Correct 54 ms 620 KB Correct answer: answer = 1824916
98 Correct 49 ms 620 KB Correct answer: answer = 10680029
99 Correct 60 ms 688 KB Correct answer: answer = 18351700
100 Correct 54 ms 620 KB Correct answer: answer = 16040026
101 Correct 9 ms 492 KB Correct answer: answer = 253968628325
102 Correct 24 ms 492 KB Correct answer: answer = 10267
103 Correct 60 ms 876 KB Correct answer: answer = 2582408
104 Correct 3 ms 492 KB Correct answer: answer = 78024964781
105 Correct 4 ms 492 KB Correct answer: answer = 9866346457
106 Correct 9 ms 492 KB Correct answer: answer = 3327720949
107 Correct 6 ms 492 KB Correct answer: answer = 86064128360
108 Correct 12 ms 620 KB Correct answer: answer = 12698259150
109 Correct 43 ms 620 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 4
2 Correct 1 ms 384 KB Correct answer: answer = 4
3 Correct 1 ms 364 KB Correct answer: answer = 4
4 Correct 1 ms 364 KB Correct answer: answer = 12
5 Correct 1 ms 364 KB Correct answer: answer = 52
6 Correct 1 ms 364 KB Correct answer: answer = 210
7 Correct 1 ms 364 KB Correct answer: answer = 88
8 Correct 1 ms 364 KB Correct answer: answer = 7696
9 Correct 1 ms 364 KB Correct answer: answer = 1
10 Correct 1 ms 364 KB Correct answer: answer = 2374
11 Correct 1 ms 364 KB Correct answer: answer = 9502
12 Correct 1 ms 364 KB Correct answer: answer = 49
13 Correct 1 ms 364 KB Correct answer: answer = 151
14 Correct 1 ms 364 KB Correct answer: answer = 7550
15 Correct 1 ms 364 KB Correct answer: answer = 7220
16 Correct 1 ms 364 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 364 KB Correct answer: answer = 10000
19 Correct 1 ms 364 KB Correct answer: answer = 624
20 Correct 1 ms 364 KB Correct answer: answer = 10000
21 Correct 1 ms 364 KB Correct answer: answer = 1
22 Correct 1 ms 364 KB Correct answer: answer = 4
23 Correct 2 ms 364 KB Correct answer: answer = 1
24 Correct 1 ms 364 KB Correct answer: answer = 5
25 Correct 1 ms 364 KB Correct answer: answer = 41
26 Correct 1 ms 364 KB Correct answer: answer = 71923
27 Correct 3 ms 364 KB Correct answer: answer = 77137
28 Correct 4 ms 364 KB Correct answer: answer = 764
29 Correct 3 ms 364 KB Correct answer: answer = 250000
30 Correct 4 ms 364 KB Correct answer: answer = 500
31 Correct 1 ms 364 KB Correct answer: answer = 32
32 Correct 4 ms 384 KB Correct answer: answer = 130050
33 Correct 4 ms 364 KB Correct answer: answer = 5110
34 Correct 2 ms 364 KB Correct answer: answer = 2626
35 Correct 2 ms 364 KB Correct answer: answer = 796
36 Correct 4 ms 364 KB Correct answer: answer = 7580
37 Correct 4 ms 364 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 5 ms 364 KB Correct answer: answer = 38817
40 Correct 4 ms 364 KB Correct answer: answer = 4096
41 Correct 1 ms 364 KB Correct answer: answer = 1
42 Correct 1 ms 364 KB Correct answer: answer = 1
43 Correct 4 ms 364 KB Correct answer: answer = 2040
44 Correct 1 ms 364 KB Correct answer: answer = 2
45 Correct 1 ms 364 KB Correct answer: answer = 4
46 Correct 1 ms 384 KB Correct answer: answer = 9
47 Correct 1 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 364 KB Correct answer: answer = 21
49 Correct 1 ms 364 KB Correct answer: answer = 71
50 Correct 1 ms 364 KB Correct answer: answer = 77
51 Correct 1 ms 364 KB Correct answer: answer = 400
52 Correct 1 ms 364 KB Correct answer: answer = 996004
53 Correct 1 ms 364 KB Correct answer: answer = 997310
54 Correct 1 ms 364 KB Correct answer: answer = 990781
55 Correct 1 ms 364 KB Correct answer: answer = 996545
56 Correct 1 ms 364 KB Correct answer: answer = 484
57 Correct 1 ms 364 KB Correct answer: answer = 484
58 Correct 4 ms 364 KB Correct answer: answer = 63501
59 Correct 4 ms 364 KB Correct answer: answer = 323501
60 Correct 5 ms 384 KB Correct answer: answer = 752500
61 Correct 3 ms 384 KB Correct answer: answer = 761480
62 Correct 3 ms 364 KB Correct answer: answer = 758932
63 Correct 1 ms 364 KB Correct answer: answer = 1000000
64 Correct 4 ms 364 KB Correct answer: answer = 750500
65 Correct 1 ms 364 KB Correct answer: answer = 1000000
66 Correct 1 ms 364 KB Correct answer: answer = 250000
67 Correct 1 ms 364 KB Correct answer: answer = 250000
68 Correct 1 ms 364 KB Correct answer: answer = 1000000
69 Correct 1 ms 364 KB Correct answer: answer = 994009
70 Correct 2 ms 364 KB Correct answer: answer = 59315
71 Correct 3 ms 364 KB Correct answer: answer = 25454
72 Correct 3 ms 364 KB Correct answer: answer = 1504
73 Correct 2 ms 364 KB Correct answer: answer = 37486
74 Correct 3 ms 364 KB Correct answer: answer = 4284
75 Correct 1 ms 364 KB Correct answer: answer = 158008
76 Correct 2 ms 364 KB Correct answer: answer = 51860
77 Correct 2 ms 364 KB Correct answer: answer = 12985
78 Correct 2 ms 492 KB Correct answer: answer = 997864126212
79 Correct 3 ms 492 KB Correct answer: answer = 998608411647
80 Correct 3 ms 492 KB Correct answer: answer = 995265560477
81 Correct 30 ms 620 KB Correct answer: answer = 10125000
82 Correct 32 ms 620 KB Correct answer: answer = 2291668
83 Correct 16 ms 512 KB Correct answer: answer = 42388
84 Correct 16 ms 492 KB Correct answer: answer = 10318
85 Correct 15 ms 492 KB Correct answer: answer = 3416
86 Correct 60 ms 620 KB Correct answer: answer = 331708193881
87 Correct 65 ms 748 KB Correct answer: answer = 2861193756
88 Correct 75 ms 620 KB Correct answer: answer = 114646930
89 Correct 34 ms 620 KB Correct answer: answer = 9280921
90 Correct 51 ms 620 KB Correct answer: answer = 999984053400
91 Correct 66 ms 620 KB Correct answer: answer = 750935949134
92 Correct 2 ms 492 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 492 KB Correct answer: answer = 998762383161
94 Correct 63 ms 748 KB Correct answer: answer = 23017412908
95 Correct 3 ms 492 KB Correct answer: answer = 728143410622
96 Correct 2 ms 492 KB Correct answer: answer = 2
97 Correct 54 ms 620 KB Correct answer: answer = 1824916
98 Correct 49 ms 620 KB Correct answer: answer = 10680029
99 Correct 60 ms 688 KB Correct answer: answer = 18351700
100 Correct 54 ms 620 KB Correct answer: answer = 16040026
101 Correct 9 ms 492 KB Correct answer: answer = 253968628325
102 Correct 24 ms 492 KB Correct answer: answer = 10267
103 Correct 60 ms 876 KB Correct answer: answer = 2582408
104 Correct 3 ms 492 KB Correct answer: answer = 78024964781
105 Correct 4 ms 492 KB Correct answer: answer = 9866346457
106 Correct 9 ms 492 KB Correct answer: answer = 3327720949
107 Correct 6 ms 492 KB Correct answer: answer = 86064128360
108 Correct 12 ms 620 KB Correct answer: answer = 12698259150
109 Correct 43 ms 620 KB Correct answer: answer = 1185259288
110 Correct 18 ms 2540 KB Correct answer: answer = 999889968863
111 Correct 18 ms 2668 KB Correct answer: answer = 999861384931
112 Correct 18 ms 2540 KB Correct answer: answer = 999811809929
113 Correct 19 ms 2540 KB Correct answer: answer = 999869756441
114 Correct 482 ms 4432 KB Correct answer: answer = 1700000000
115 Correct 526 ms 4432 KB Correct answer: answer = 131666670
116 Correct 138 ms 1636 KB Correct answer: answer = 89478486
117 Correct 189 ms 1636 KB Correct answer: answer = 4971040
118 Correct 151 ms 1636 KB Correct answer: answer = 2711494
119 Correct 546 ms 4460 KB Correct answer: answer = 25252530
120 Correct 515 ms 4432 KB Correct answer: answer = 62500000
121 Correct 795 ms 4580 KB Correct answer: answer = 333175097780
122 Correct 786 ms 4576 KB Correct answer: answer = 33121180179
123 Correct 808 ms 4452 KB Correct answer: answer = 9802314015
124 Correct 532 ms 4432 KB Correct answer: answer = 32567551
125 Correct 683 ms 4516 KB Correct answer: answer = 997525000000
126 Correct 737 ms 4500 KB Correct answer: answer = 752723538884
127 Correct 14 ms 2540 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2668 KB Correct answer: answer = 999978000121
129 Correct 22 ms 2540 KB Correct answer: answer = 745986144735
130 Correct 12 ms 2028 KB Correct answer: answer = 2
131 Correct 656 ms 4556 KB Correct answer: answer = 277966670
132 Correct 655 ms 4432 KB Correct answer: answer = 2500900082
133 Correct 101 ms 2796 KB Correct answer: answer = 301248349636
134 Correct 315 ms 2396 KB Correct answer: answer = 14118891
135 Correct 19 ms 2540 KB Correct answer: answer = 14384977265
136 Correct 24 ms 2540 KB Correct answer: answer = 3681368330
137 Correct 28 ms 2540 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Correct answer: answer = 4
2 Correct 1 ms 384 KB Correct answer: answer = 4
3 Correct 1 ms 364 KB Correct answer: answer = 4
4 Correct 1 ms 364 KB Correct answer: answer = 12
5 Correct 1 ms 364 KB Correct answer: answer = 52
6 Correct 1 ms 364 KB Correct answer: answer = 210
7 Correct 1 ms 364 KB Correct answer: answer = 88
8 Correct 1 ms 364 KB Correct answer: answer = 7696
9 Correct 1 ms 364 KB Correct answer: answer = 1
10 Correct 1 ms 364 KB Correct answer: answer = 2374
11 Correct 1 ms 364 KB Correct answer: answer = 9502
12 Correct 1 ms 364 KB Correct answer: answer = 49
13 Correct 1 ms 364 KB Correct answer: answer = 151
14 Correct 1 ms 364 KB Correct answer: answer = 7550
15 Correct 1 ms 364 KB Correct answer: answer = 7220
16 Correct 1 ms 364 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 364 KB Correct answer: answer = 10000
19 Correct 1 ms 364 KB Correct answer: answer = 624
20 Correct 1 ms 364 KB Correct answer: answer = 10000
21 Correct 1 ms 364 KB Correct answer: answer = 1
22 Correct 1 ms 364 KB Correct answer: answer = 4
23 Correct 2 ms 364 KB Correct answer: answer = 1
24 Correct 1 ms 364 KB Correct answer: answer = 5
25 Correct 1 ms 364 KB Correct answer: answer = 41
26 Correct 1 ms 364 KB Correct answer: answer = 71923
27 Correct 3 ms 364 KB Correct answer: answer = 77137
28 Correct 4 ms 364 KB Correct answer: answer = 764
29 Correct 3 ms 364 KB Correct answer: answer = 250000
30 Correct 4 ms 364 KB Correct answer: answer = 500
31 Correct 1 ms 364 KB Correct answer: answer = 32
32 Correct 4 ms 384 KB Correct answer: answer = 130050
33 Correct 4 ms 364 KB Correct answer: answer = 5110
34 Correct 2 ms 364 KB Correct answer: answer = 2626
35 Correct 2 ms 364 KB Correct answer: answer = 796
36 Correct 4 ms 364 KB Correct answer: answer = 7580
37 Correct 4 ms 364 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 5 ms 364 KB Correct answer: answer = 38817
40 Correct 4 ms 364 KB Correct answer: answer = 4096
41 Correct 1 ms 364 KB Correct answer: answer = 1
42 Correct 1 ms 364 KB Correct answer: answer = 1
43 Correct 4 ms 364 KB Correct answer: answer = 2040
44 Correct 1 ms 364 KB Correct answer: answer = 2
45 Correct 1 ms 364 KB Correct answer: answer = 4
46 Correct 1 ms 384 KB Correct answer: answer = 9
47 Correct 1 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 364 KB Correct answer: answer = 21
49 Correct 1 ms 364 KB Correct answer: answer = 71
50 Correct 1 ms 364 KB Correct answer: answer = 77
51 Correct 1 ms 364 KB Correct answer: answer = 400
52 Correct 1 ms 364 KB Correct answer: answer = 996004
53 Correct 1 ms 364 KB Correct answer: answer = 997310
54 Correct 1 ms 364 KB Correct answer: answer = 990781
55 Correct 1 ms 364 KB Correct answer: answer = 996545
56 Correct 1 ms 364 KB Correct answer: answer = 484
57 Correct 1 ms 364 KB Correct answer: answer = 484
58 Correct 4 ms 364 KB Correct answer: answer = 63501
59 Correct 4 ms 364 KB Correct answer: answer = 323501
60 Correct 5 ms 384 KB Correct answer: answer = 752500
61 Correct 3 ms 384 KB Correct answer: answer = 761480
62 Correct 3 ms 364 KB Correct answer: answer = 758932
63 Correct 1 ms 364 KB Correct answer: answer = 1000000
64 Correct 4 ms 364 KB Correct answer: answer = 750500
65 Correct 1 ms 364 KB Correct answer: answer = 1000000
66 Correct 1 ms 364 KB Correct answer: answer = 250000
67 Correct 1 ms 364 KB Correct answer: answer = 250000
68 Correct 1 ms 364 KB Correct answer: answer = 1000000
69 Correct 1 ms 364 KB Correct answer: answer = 994009
70 Correct 2 ms 364 KB Correct answer: answer = 59315
71 Correct 3 ms 364 KB Correct answer: answer = 25454
72 Correct 3 ms 364 KB Correct answer: answer = 1504
73 Correct 2 ms 364 KB Correct answer: answer = 37486
74 Correct 3 ms 364 KB Correct answer: answer = 4284
75 Correct 1 ms 364 KB Correct answer: answer = 158008
76 Correct 2 ms 364 KB Correct answer: answer = 51860
77 Correct 2 ms 364 KB Correct answer: answer = 12985
78 Correct 2 ms 492 KB Correct answer: answer = 997864126212
79 Correct 3 ms 492 KB Correct answer: answer = 998608411647
80 Correct 3 ms 492 KB Correct answer: answer = 995265560477
81 Correct 30 ms 620 KB Correct answer: answer = 10125000
82 Correct 32 ms 620 KB Correct answer: answer = 2291668
83 Correct 16 ms 512 KB Correct answer: answer = 42388
84 Correct 16 ms 492 KB Correct answer: answer = 10318
85 Correct 15 ms 492 KB Correct answer: answer = 3416
86 Correct 60 ms 620 KB Correct answer: answer = 331708193881
87 Correct 65 ms 748 KB Correct answer: answer = 2861193756
88 Correct 75 ms 620 KB Correct answer: answer = 114646930
89 Correct 34 ms 620 KB Correct answer: answer = 9280921
90 Correct 51 ms 620 KB Correct answer: answer = 999984053400
91 Correct 66 ms 620 KB Correct answer: answer = 750935949134
92 Correct 2 ms 492 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 492 KB Correct answer: answer = 998762383161
94 Correct 63 ms 748 KB Correct answer: answer = 23017412908
95 Correct 3 ms 492 KB Correct answer: answer = 728143410622
96 Correct 2 ms 492 KB Correct answer: answer = 2
97 Correct 54 ms 620 KB Correct answer: answer = 1824916
98 Correct 49 ms 620 KB Correct answer: answer = 10680029
99 Correct 60 ms 688 KB Correct answer: answer = 18351700
100 Correct 54 ms 620 KB Correct answer: answer = 16040026
101 Correct 9 ms 492 KB Correct answer: answer = 253968628325
102 Correct 24 ms 492 KB Correct answer: answer = 10267
103 Correct 60 ms 876 KB Correct answer: answer = 2582408
104 Correct 3 ms 492 KB Correct answer: answer = 78024964781
105 Correct 4 ms 492 KB Correct answer: answer = 9866346457
106 Correct 9 ms 492 KB Correct answer: answer = 3327720949
107 Correct 6 ms 492 KB Correct answer: answer = 86064128360
108 Correct 12 ms 620 KB Correct answer: answer = 12698259150
109 Correct 43 ms 620 KB Correct answer: answer = 1185259288
110 Correct 18 ms 2540 KB Correct answer: answer = 999889968863
111 Correct 18 ms 2668 KB Correct answer: answer = 999861384931
112 Correct 18 ms 2540 KB Correct answer: answer = 999811809929
113 Correct 19 ms 2540 KB Correct answer: answer = 999869756441
114 Correct 482 ms 4432 KB Correct answer: answer = 1700000000
115 Correct 526 ms 4432 KB Correct answer: answer = 131666670
116 Correct 138 ms 1636 KB Correct answer: answer = 89478486
117 Correct 189 ms 1636 KB Correct answer: answer = 4971040
118 Correct 151 ms 1636 KB Correct answer: answer = 2711494
119 Correct 546 ms 4460 KB Correct answer: answer = 25252530
120 Correct 515 ms 4432 KB Correct answer: answer = 62500000
121 Correct 795 ms 4580 KB Correct answer: answer = 333175097780
122 Correct 786 ms 4576 KB Correct answer: answer = 33121180179
123 Correct 808 ms 4452 KB Correct answer: answer = 9802314015
124 Correct 532 ms 4432 KB Correct answer: answer = 32567551
125 Correct 683 ms 4516 KB Correct answer: answer = 997525000000
126 Correct 737 ms 4500 KB Correct answer: answer = 752723538884
127 Correct 14 ms 2540 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2668 KB Correct answer: answer = 999978000121
129 Correct 22 ms 2540 KB Correct answer: answer = 745986144735
130 Correct 12 ms 2028 KB Correct answer: answer = 2
131 Correct 656 ms 4556 KB Correct answer: answer = 277966670
132 Correct 655 ms 4432 KB Correct answer: answer = 2500900082
133 Correct 101 ms 2796 KB Correct answer: answer = 301248349636
134 Correct 315 ms 2396 KB Correct answer: answer = 14118891
135 Correct 19 ms 2540 KB Correct answer: answer = 14384977265
136 Correct 24 ms 2540 KB Correct answer: answer = 3681368330
137 Correct 28 ms 2540 KB Correct answer: answer = 2720316816
138 Correct 37 ms 4716 KB Correct answer: answer = 999976000144
139 Correct 44 ms 4716 KB Correct answer: answer = 999856102410
140 Correct 36 ms 4716 KB Correct answer: answer = 999958401531
141 Correct 36 ms 4716 KB Correct answer: answer = 999769649944
142 Correct 36 ms 4716 KB Correct answer: answer = 999874525918
143 Correct 1022 ms 8588 KB Correct answer: answer = 6050000000
144 Correct 1165 ms 8588 KB Correct answer: answer = 1112500000
145 Correct 580 ms 5848 KB Correct answer: answer = 4294967296
146 Correct 713 ms 5748 KB Correct answer: answer = 87652406
147 Correct 693 ms 5848 KB Correct answer: answer = 6297664
148 Correct 714 ms 5848 KB Correct answer: answer = 196612
149 Correct 1083 ms 8632 KB Correct answer: answer = 15015100
150 Correct 1092 ms 8568 KB Correct answer: answer = 25000000
151 Correct 1447 ms 8588 KB Correct answer: answer = 333230209550
152 Correct 1543 ms 8580 KB Correct answer: answer = 917123769
153 Correct 1423 ms 8576 KB Correct answer: answer = 95162
154 Correct 1162 ms 8572 KB Correct answer: answer = 382616191
155 Correct 1325 ms 8676 KB Correct answer: answer = 990033333400
156 Correct 1343 ms 8788 KB Correct answer: answer = 990000100000
157 Correct 1327 ms 8096 KB Correct answer: answer = 749998188180
158 Correct 27 ms 4716 KB Correct answer: answer = 1000000000000
159 Correct 40 ms 4716 KB Correct answer: answer = 999988000036
160 Correct 40 ms 4992 KB Correct answer: answer = 744929274393
161 Correct 22 ms 3820 KB Correct answer: answer = 2
162 Correct 1337 ms 8568 KB Correct answer: answer = 1300024
163 Correct 1339 ms 8568 KB Correct answer: answer = 5000700010
164 Correct 203 ms 5160 KB Correct answer: answer = 354997100800
165 Correct 687 ms 4464 KB Correct answer: answer = 257000
166 Correct 669 ms 4684 KB Correct answer: answer = 3765323
167 Correct 639 ms 4432 KB Correct answer: answer = 1525903
168 Correct 37 ms 4844 KB Correct answer: answer = 67618137730
169 Correct 38 ms 4844 KB Correct answer: answer = 12656680171
170 Correct 77 ms 4844 KB Correct answer: answer = 579831736
171 Correct 493 ms 5936 KB Correct answer: answer = 23605611
172 Correct 88 ms 4972 KB Correct answer: answer = 7052481200
173 Correct 188 ms 5228 KB Correct answer: answer = 1314039500
174 Correct 299 ms 5668 KB Correct answer: answer = 302484000
175 Correct 835 ms 7092 KB Correct answer: answer = 52348480