Submission #136925

# Submission time Handle Problem Language Result Execution time Memory
136925 2019-07-26T14:45:22 Z AlexPop28 Aliens (IOI16_aliens) C++11
100 / 100
279 ms 6488 KB
#include <bits/stdc++.h>
#include "aliens.h"
#define dbg(x) cerr << (#x) << ": " << (x) << "; "
#define endline cerr << endl

using namespace std;

struct Line {
  int photos;
  long long a, b;
  Line(long long a_ = 0LL, long long b_ = 0LL, int photos_ = 0) :
    photos(photos_), a(a_), b(b_) {}
  long long operator()(long long x) {
    return a * x + b;
  }
};

template<class T> long long Sqr(T x) {
  return 1LL * x * x;
}

struct CHT {
  int sz = 0;
  deque<Line> dq;
  bool IsUseless(Line old, Line nline, Line comp) {
    if ((comp.b - nline.b) * (old.a - comp.a) == (nline.a - comp.a) * (comp.b - old.b))
      return old.photos <= nline.photos;
    return (comp.b - nline.b) * (old.a - comp.a) <= (nline.a - comp.a) * (comp.b - old.b);
  }
  void Insert(Line nline) {
    while (sz >= 2 && IsUseless(dq[sz - 1], nline, dq[sz - 2])) {
      dq.pop_back();
      --sz;
    }
    dq.emplace_back(nline);
    ++sz;
  }
  long long Query(int x) {
    while (sz >= 2 && (dq[0](x) > dq[1](x) ||
                      (dq[0](x) == dq[1](x) && dq[0].photos >= dq[1].photos))) {
      dq.pop_front();
      --sz;
    }
    return dq[0](x);
  }
};

struct Solver { // 100 perhaps? ca cica asa se face
  int n, m, k;
  vector<pair<int, int>> points;
  Solver(int n_, int m_, int k_, vector<int> &r, vector<int> &c) :
    n(n_), m(m_), k(k_), points(n) {
    for (int i = 0; i < n; ++i) {
      if (r[i] > c[i])
        swap(r[i], c[i]);
      points[i] = {r[i], c[i]};
    }
    points = RemoveRedundant(points);
    n = points.size() - 1;
  }

  long long Solve() {
    auto Check = [&](long long cost) {
      CHT cht;
      cht.Insert(Line(-2 * points[1].first, Sqr(points[1].first), 0));
      for (int i = 1; i <= n; ++i) {
        int x = points[i].second + 1;
        long long dp = cht.Query(x) + Sqr(x) + cost;
        int photos = cht.dq.front().photos + 1;
        if (i == n)
          return make_pair(dp, photos);
        Line nline(-2 * points[i + 1].first,
                  dp + Sqr(points[i + 1].first) -
                    Sqr(max(0, points[i].second - points[i + 1].first + 1)),
                      photos);
        cht.Insert(nline);
      }
    };
    long long lo = 0, hi = (long long)1e18, ans = (long long)1e18;
    while (lo <= hi) {
      long long mid = lo + (hi - lo) / 2LL;
      auto ck = Check(mid);
      if (ck.second <= k) {
        ans = ck.first - k * mid;
        hi = mid - 1;
      } else
        lo = mid + 1;
    }
    return ans;
  }

  long long Solve60() {
    // points[i].first < points[i + 1].first
    // points[i].second < points[i + 1].second

    vector<CHT> cht(k + 1); // ar trebui sa mi pun semne de exclamare sa nu uit
    for (int i = 0; i <= k; ++i)
      cht[i].Insert(Line(-2 * points[1].first, Sqr(points[1].first)));
    for (int i = 1; i <= n; ++i) {
      for (int j = k; j >= 1; --j) {
        int x = points[i].second + 1; // queries increasing
        long long dp = cht[j - 1].Query(x) + Sqr(x);
        if (i == n) {
          return dp;
        }
        Line nline(-2 * points[i + 1].first, // slopes decreasing
                  dp + Sqr(points[i + 1].first) -
                    Sqr(max(0, points[i].second - points[i + 1].first + 1)));
        cht[j].Insert(nline);
      }
    }
  }

  vector<vector<long long>> Brute() {
    vector<vector<long long>> dp(n + 2, vector<long long>(k + 2, (long long)1e18));
    fill(dp[0].begin(), dp[0].end(), 0LL);
    for (int i = 1; i <= n; ++i) { 
      for (int j = 1; j <= k; ++j) {
        dp[i][j] = dp[i][k - 1];
        for (int p = 0; p <= i - 1; ++p) {
          dp[i][j] = min(dp[i][j],
            dp[p][j - 1] + Sqr(points[i].second - points[p + 1].first + 1) -
              Sqr(max(0, points[p].second - points[p + 1].first + 1))); // intersection
        }
      }
    }
    return dp;
  }

  vector<pair<int, int>> RemoveRedundant(vector<pair<int, int>> &v) {
    sort(v.begin(), v.end(), [](const pair<int, int> &a, const pair<int, int> &b) {
      if (a.first != b.first)
        return a.first < b.first;
      return a.second > b.second;
    });
    int max_rgt = -1;
    vector<pair<int, int>> ret;
    ret.emplace_back(-1, -1);
    for (int i = 0; i < (int)points.size(); ++i) {
      if (points[i].second > max_rgt) {
        max_rgt = points[i].second;
        ret.emplace_back(points[i]);
      }
    }
    return ret;
  }
};

long long take_photos(int n, int m, int k, vector<int> r, vector<int> c) {
  Solver solver(n, m, k, r, c);
  return solver.Solve();
}

Compilation message

aliens.cpp: In lambda function:
aliens.cpp:78:5: warning: control reaches end of non-void function [-Wreturn-type]
     };
     ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Correct answer: answer = 4
2 Correct 3 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 256 KB Correct answer: answer = 12
5 Correct 2 ms 376 KB Correct answer: answer = 52
6 Correct 2 ms 256 KB Correct answer: answer = 210
7 Correct 2 ms 376 KB Correct answer: answer = 88
8 Correct 3 ms 376 KB Correct answer: answer = 7696
9 Correct 2 ms 256 KB Correct answer: answer = 1
10 Correct 2 ms 376 KB Correct answer: answer = 2374
11 Correct 2 ms 348 KB Correct answer: answer = 9502
12 Correct 2 ms 376 KB Correct answer: answer = 49
13 Correct 2 ms 256 KB Correct answer: answer = 151
14 Correct 2 ms 256 KB Correct answer: answer = 7550
15 Correct 2 ms 256 KB Correct answer: answer = 7220
16 Correct 2 ms 256 KB Correct answer: answer = 7550
17 Correct 2 ms 376 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 2 ms 256 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 1
2 Correct 2 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 376 KB Correct answer: answer = 1
4 Correct 2 ms 256 KB Correct answer: answer = 5
5 Correct 2 ms 256 KB Correct answer: answer = 41
6 Correct 2 ms 256 KB Correct answer: answer = 71923
7 Correct 2 ms 256 KB Correct answer: answer = 77137
8 Correct 3 ms 376 KB Correct answer: answer = 764
9 Correct 3 ms 376 KB Correct answer: answer = 250000
10 Correct 3 ms 376 KB Correct answer: answer = 500
11 Correct 2 ms 376 KB Correct answer: answer = 32
12 Correct 3 ms 376 KB Correct answer: answer = 130050
13 Correct 3 ms 376 KB Correct answer: answer = 5110
14 Correct 3 ms 376 KB Correct answer: answer = 2626
15 Correct 3 ms 376 KB Correct answer: answer = 796
16 Correct 3 ms 376 KB Correct answer: answer = 7580
17 Correct 3 ms 376 KB Correct answer: answer = 1904
18 Correct 3 ms 364 KB Correct answer: answer = 996004
19 Correct 3 ms 376 KB Correct answer: answer = 38817
20 Correct 3 ms 376 KB Correct answer: answer = 4096
21 Correct 2 ms 376 KB Correct answer: answer = 1
22 Correct 2 ms 392 KB Correct answer: answer = 1
23 Correct 3 ms 376 KB Correct answer: answer = 2040
24 Correct 2 ms 256 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Correct answer: answer = 4
2 Correct 3 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 256 KB Correct answer: answer = 12
5 Correct 2 ms 376 KB Correct answer: answer = 52
6 Correct 2 ms 256 KB Correct answer: answer = 210
7 Correct 2 ms 376 KB Correct answer: answer = 88
8 Correct 3 ms 376 KB Correct answer: answer = 7696
9 Correct 2 ms 256 KB Correct answer: answer = 1
10 Correct 2 ms 376 KB Correct answer: answer = 2374
11 Correct 2 ms 348 KB Correct answer: answer = 9502
12 Correct 2 ms 376 KB Correct answer: answer = 49
13 Correct 2 ms 256 KB Correct answer: answer = 151
14 Correct 2 ms 256 KB Correct answer: answer = 7550
15 Correct 2 ms 256 KB Correct answer: answer = 7220
16 Correct 2 ms 256 KB Correct answer: answer = 7550
17 Correct 2 ms 376 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 2 ms 256 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 376 KB Correct answer: answer = 4
23 Correct 2 ms 376 KB Correct answer: answer = 1
24 Correct 2 ms 256 KB Correct answer: answer = 5
25 Correct 2 ms 256 KB Correct answer: answer = 41
26 Correct 2 ms 256 KB Correct answer: answer = 71923
27 Correct 2 ms 256 KB Correct answer: answer = 77137
28 Correct 3 ms 376 KB Correct answer: answer = 764
29 Correct 3 ms 376 KB Correct answer: answer = 250000
30 Correct 3 ms 376 KB Correct answer: answer = 500
31 Correct 2 ms 376 KB Correct answer: answer = 32
32 Correct 3 ms 376 KB Correct answer: answer = 130050
33 Correct 3 ms 376 KB Correct answer: answer = 5110
34 Correct 3 ms 376 KB Correct answer: answer = 2626
35 Correct 3 ms 376 KB Correct answer: answer = 796
36 Correct 3 ms 376 KB Correct answer: answer = 7580
37 Correct 3 ms 376 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 3 ms 376 KB Correct answer: answer = 38817
40 Correct 3 ms 376 KB Correct answer: answer = 4096
41 Correct 2 ms 376 KB Correct answer: answer = 1
42 Correct 2 ms 392 KB Correct answer: answer = 1
43 Correct 3 ms 376 KB Correct answer: answer = 2040
44 Correct 2 ms 256 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 312 KB Correct answer: answer = 9
47 Correct 2 ms 276 KB Correct answer: answer = 9
48 Correct 2 ms 376 KB Correct answer: answer = 21
49 Correct 2 ms 376 KB Correct answer: answer = 71
50 Correct 2 ms 376 KB Correct answer: answer = 77
51 Correct 2 ms 376 KB Correct answer: answer = 400
52 Correct 2 ms 256 KB Correct answer: answer = 996004
53 Correct 2 ms 376 KB Correct answer: answer = 997310
54 Correct 3 ms 376 KB Correct answer: answer = 990781
55 Correct 2 ms 256 KB Correct answer: answer = 996545
56 Correct 2 ms 376 KB Correct answer: answer = 484
57 Correct 2 ms 376 KB Correct answer: answer = 484
58 Correct 3 ms 376 KB Correct answer: answer = 63501
59 Correct 3 ms 376 KB Correct answer: answer = 323501
60 Correct 3 ms 376 KB Correct answer: answer = 752500
61 Correct 3 ms 376 KB Correct answer: answer = 761480
62 Correct 2 ms 376 KB Correct answer: answer = 758932
63 Correct 3 ms 376 KB Correct answer: answer = 1000000
64 Correct 3 ms 376 KB Correct answer: answer = 750500
65 Correct 2 ms 376 KB Correct answer: answer = 1000000
66 Correct 2 ms 376 KB Correct answer: answer = 250000
67 Correct 3 ms 376 KB Correct answer: answer = 250000
68 Correct 2 ms 256 KB Correct answer: answer = 1000000
69 Correct 2 ms 376 KB Correct answer: answer = 994009
70 Correct 2 ms 376 KB Correct answer: answer = 59315
71 Correct 2 ms 376 KB Correct answer: answer = 25454
72 Correct 3 ms 376 KB Correct answer: answer = 1504
73 Correct 2 ms 376 KB Correct answer: answer = 37486
74 Correct 3 ms 376 KB Correct answer: answer = 4284
75 Correct 2 ms 376 KB Correct answer: answer = 158008
76 Correct 2 ms 256 KB Correct answer: answer = 51860
77 Correct 2 ms 376 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Correct answer: answer = 4
2 Correct 3 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 256 KB Correct answer: answer = 12
5 Correct 2 ms 376 KB Correct answer: answer = 52
6 Correct 2 ms 256 KB Correct answer: answer = 210
7 Correct 2 ms 376 KB Correct answer: answer = 88
8 Correct 3 ms 376 KB Correct answer: answer = 7696
9 Correct 2 ms 256 KB Correct answer: answer = 1
10 Correct 2 ms 376 KB Correct answer: answer = 2374
11 Correct 2 ms 348 KB Correct answer: answer = 9502
12 Correct 2 ms 376 KB Correct answer: answer = 49
13 Correct 2 ms 256 KB Correct answer: answer = 151
14 Correct 2 ms 256 KB Correct answer: answer = 7550
15 Correct 2 ms 256 KB Correct answer: answer = 7220
16 Correct 2 ms 256 KB Correct answer: answer = 7550
17 Correct 2 ms 376 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 2 ms 256 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 376 KB Correct answer: answer = 4
23 Correct 2 ms 376 KB Correct answer: answer = 1
24 Correct 2 ms 256 KB Correct answer: answer = 5
25 Correct 2 ms 256 KB Correct answer: answer = 41
26 Correct 2 ms 256 KB Correct answer: answer = 71923
27 Correct 2 ms 256 KB Correct answer: answer = 77137
28 Correct 3 ms 376 KB Correct answer: answer = 764
29 Correct 3 ms 376 KB Correct answer: answer = 250000
30 Correct 3 ms 376 KB Correct answer: answer = 500
31 Correct 2 ms 376 KB Correct answer: answer = 32
32 Correct 3 ms 376 KB Correct answer: answer = 130050
33 Correct 3 ms 376 KB Correct answer: answer = 5110
34 Correct 3 ms 376 KB Correct answer: answer = 2626
35 Correct 3 ms 376 KB Correct answer: answer = 796
36 Correct 3 ms 376 KB Correct answer: answer = 7580
37 Correct 3 ms 376 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 3 ms 376 KB Correct answer: answer = 38817
40 Correct 3 ms 376 KB Correct answer: answer = 4096
41 Correct 2 ms 376 KB Correct answer: answer = 1
42 Correct 2 ms 392 KB Correct answer: answer = 1
43 Correct 3 ms 376 KB Correct answer: answer = 2040
44 Correct 2 ms 256 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 312 KB Correct answer: answer = 9
47 Correct 2 ms 276 KB Correct answer: answer = 9
48 Correct 2 ms 376 KB Correct answer: answer = 21
49 Correct 2 ms 376 KB Correct answer: answer = 71
50 Correct 2 ms 376 KB Correct answer: answer = 77
51 Correct 2 ms 376 KB Correct answer: answer = 400
52 Correct 2 ms 256 KB Correct answer: answer = 996004
53 Correct 2 ms 376 KB Correct answer: answer = 997310
54 Correct 3 ms 376 KB Correct answer: answer = 990781
55 Correct 2 ms 256 KB Correct answer: answer = 996545
56 Correct 2 ms 376 KB Correct answer: answer = 484
57 Correct 2 ms 376 KB Correct answer: answer = 484
58 Correct 3 ms 376 KB Correct answer: answer = 63501
59 Correct 3 ms 376 KB Correct answer: answer = 323501
60 Correct 3 ms 376 KB Correct answer: answer = 752500
61 Correct 3 ms 376 KB Correct answer: answer = 761480
62 Correct 2 ms 376 KB Correct answer: answer = 758932
63 Correct 3 ms 376 KB Correct answer: answer = 1000000
64 Correct 3 ms 376 KB Correct answer: answer = 750500
65 Correct 2 ms 376 KB Correct answer: answer = 1000000
66 Correct 2 ms 376 KB Correct answer: answer = 250000
67 Correct 3 ms 376 KB Correct answer: answer = 250000
68 Correct 2 ms 256 KB Correct answer: answer = 1000000
69 Correct 2 ms 376 KB Correct answer: answer = 994009
70 Correct 2 ms 376 KB Correct answer: answer = 59315
71 Correct 2 ms 376 KB Correct answer: answer = 25454
72 Correct 3 ms 376 KB Correct answer: answer = 1504
73 Correct 2 ms 376 KB Correct answer: answer = 37486
74 Correct 3 ms 376 KB Correct answer: answer = 4284
75 Correct 2 ms 376 KB Correct answer: answer = 158008
76 Correct 2 ms 256 KB Correct answer: answer = 51860
77 Correct 2 ms 376 KB Correct answer: answer = 12985
78 Correct 4 ms 508 KB Correct answer: answer = 997864126212
79 Correct 4 ms 504 KB Correct answer: answer = 998608411647
80 Correct 4 ms 504 KB Correct answer: answer = 995265560477
81 Correct 9 ms 504 KB Correct answer: answer = 10125000
82 Correct 10 ms 504 KB Correct answer: answer = 2291668
83 Correct 6 ms 504 KB Correct answer: answer = 42388
84 Correct 6 ms 504 KB Correct answer: answer = 10318
85 Correct 6 ms 376 KB Correct answer: answer = 3416
86 Correct 14 ms 504 KB Correct answer: answer = 331708193881
87 Correct 14 ms 620 KB Correct answer: answer = 2861193756
88 Correct 13 ms 504 KB Correct answer: answer = 114646930
89 Correct 9 ms 504 KB Correct answer: answer = 9280921
90 Correct 10 ms 508 KB Correct answer: answer = 999984053400
91 Correct 13 ms 504 KB Correct answer: answer = 750935949134
92 Correct 3 ms 504 KB Correct answer: answer = 1000000000000
93 Correct 4 ms 504 KB Correct answer: answer = 998762383161
94 Correct 13 ms 504 KB Correct answer: answer = 23017412908
95 Correct 3 ms 380 KB Correct answer: answer = 728143410622
96 Correct 3 ms 380 KB Correct answer: answer = 2
97 Correct 10 ms 504 KB Correct answer: answer = 1824916
98 Correct 11 ms 504 KB Correct answer: answer = 10680029
99 Correct 11 ms 508 KB Correct answer: answer = 18351700
100 Correct 9 ms 632 KB Correct answer: answer = 16040026
101 Correct 4 ms 504 KB Correct answer: answer = 253968628325
102 Correct 6 ms 372 KB Correct answer: answer = 10267
103 Correct 13 ms 504 KB Correct answer: answer = 2582408
104 Correct 3 ms 504 KB Correct answer: answer = 78024964781
105 Correct 4 ms 504 KB Correct answer: answer = 9866346457
106 Correct 4 ms 504 KB Correct answer: answer = 3327720949
107 Correct 4 ms 504 KB Correct answer: answer = 86064128360
108 Correct 5 ms 504 KB Correct answer: answer = 12698259150
109 Correct 9 ms 504 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Correct answer: answer = 4
2 Correct 3 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 256 KB Correct answer: answer = 12
5 Correct 2 ms 376 KB Correct answer: answer = 52
6 Correct 2 ms 256 KB Correct answer: answer = 210
7 Correct 2 ms 376 KB Correct answer: answer = 88
8 Correct 3 ms 376 KB Correct answer: answer = 7696
9 Correct 2 ms 256 KB Correct answer: answer = 1
10 Correct 2 ms 376 KB Correct answer: answer = 2374
11 Correct 2 ms 348 KB Correct answer: answer = 9502
12 Correct 2 ms 376 KB Correct answer: answer = 49
13 Correct 2 ms 256 KB Correct answer: answer = 151
14 Correct 2 ms 256 KB Correct answer: answer = 7550
15 Correct 2 ms 256 KB Correct answer: answer = 7220
16 Correct 2 ms 256 KB Correct answer: answer = 7550
17 Correct 2 ms 376 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 2 ms 256 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 376 KB Correct answer: answer = 4
23 Correct 2 ms 376 KB Correct answer: answer = 1
24 Correct 2 ms 256 KB Correct answer: answer = 5
25 Correct 2 ms 256 KB Correct answer: answer = 41
26 Correct 2 ms 256 KB Correct answer: answer = 71923
27 Correct 2 ms 256 KB Correct answer: answer = 77137
28 Correct 3 ms 376 KB Correct answer: answer = 764
29 Correct 3 ms 376 KB Correct answer: answer = 250000
30 Correct 3 ms 376 KB Correct answer: answer = 500
31 Correct 2 ms 376 KB Correct answer: answer = 32
32 Correct 3 ms 376 KB Correct answer: answer = 130050
33 Correct 3 ms 376 KB Correct answer: answer = 5110
34 Correct 3 ms 376 KB Correct answer: answer = 2626
35 Correct 3 ms 376 KB Correct answer: answer = 796
36 Correct 3 ms 376 KB Correct answer: answer = 7580
37 Correct 3 ms 376 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 3 ms 376 KB Correct answer: answer = 38817
40 Correct 3 ms 376 KB Correct answer: answer = 4096
41 Correct 2 ms 376 KB Correct answer: answer = 1
42 Correct 2 ms 392 KB Correct answer: answer = 1
43 Correct 3 ms 376 KB Correct answer: answer = 2040
44 Correct 2 ms 256 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 312 KB Correct answer: answer = 9
47 Correct 2 ms 276 KB Correct answer: answer = 9
48 Correct 2 ms 376 KB Correct answer: answer = 21
49 Correct 2 ms 376 KB Correct answer: answer = 71
50 Correct 2 ms 376 KB Correct answer: answer = 77
51 Correct 2 ms 376 KB Correct answer: answer = 400
52 Correct 2 ms 256 KB Correct answer: answer = 996004
53 Correct 2 ms 376 KB Correct answer: answer = 997310
54 Correct 3 ms 376 KB Correct answer: answer = 990781
55 Correct 2 ms 256 KB Correct answer: answer = 996545
56 Correct 2 ms 376 KB Correct answer: answer = 484
57 Correct 2 ms 376 KB Correct answer: answer = 484
58 Correct 3 ms 376 KB Correct answer: answer = 63501
59 Correct 3 ms 376 KB Correct answer: answer = 323501
60 Correct 3 ms 376 KB Correct answer: answer = 752500
61 Correct 3 ms 376 KB Correct answer: answer = 761480
62 Correct 2 ms 376 KB Correct answer: answer = 758932
63 Correct 3 ms 376 KB Correct answer: answer = 1000000
64 Correct 3 ms 376 KB Correct answer: answer = 750500
65 Correct 2 ms 376 KB Correct answer: answer = 1000000
66 Correct 2 ms 376 KB Correct answer: answer = 250000
67 Correct 3 ms 376 KB Correct answer: answer = 250000
68 Correct 2 ms 256 KB Correct answer: answer = 1000000
69 Correct 2 ms 376 KB Correct answer: answer = 994009
70 Correct 2 ms 376 KB Correct answer: answer = 59315
71 Correct 2 ms 376 KB Correct answer: answer = 25454
72 Correct 3 ms 376 KB Correct answer: answer = 1504
73 Correct 2 ms 376 KB Correct answer: answer = 37486
74 Correct 3 ms 376 KB Correct answer: answer = 4284
75 Correct 2 ms 376 KB Correct answer: answer = 158008
76 Correct 2 ms 256 KB Correct answer: answer = 51860
77 Correct 2 ms 376 KB Correct answer: answer = 12985
78 Correct 4 ms 508 KB Correct answer: answer = 997864126212
79 Correct 4 ms 504 KB Correct answer: answer = 998608411647
80 Correct 4 ms 504 KB Correct answer: answer = 995265560477
81 Correct 9 ms 504 KB Correct answer: answer = 10125000
82 Correct 10 ms 504 KB Correct answer: answer = 2291668
83 Correct 6 ms 504 KB Correct answer: answer = 42388
84 Correct 6 ms 504 KB Correct answer: answer = 10318
85 Correct 6 ms 376 KB Correct answer: answer = 3416
86 Correct 14 ms 504 KB Correct answer: answer = 331708193881
87 Correct 14 ms 620 KB Correct answer: answer = 2861193756
88 Correct 13 ms 504 KB Correct answer: answer = 114646930
89 Correct 9 ms 504 KB Correct answer: answer = 9280921
90 Correct 10 ms 508 KB Correct answer: answer = 999984053400
91 Correct 13 ms 504 KB Correct answer: answer = 750935949134
92 Correct 3 ms 504 KB Correct answer: answer = 1000000000000
93 Correct 4 ms 504 KB Correct answer: answer = 998762383161
94 Correct 13 ms 504 KB Correct answer: answer = 23017412908
95 Correct 3 ms 380 KB Correct answer: answer = 728143410622
96 Correct 3 ms 380 KB Correct answer: answer = 2
97 Correct 10 ms 504 KB Correct answer: answer = 1824916
98 Correct 11 ms 504 KB Correct answer: answer = 10680029
99 Correct 11 ms 508 KB Correct answer: answer = 18351700
100 Correct 9 ms 632 KB Correct answer: answer = 16040026
101 Correct 4 ms 504 KB Correct answer: answer = 253968628325
102 Correct 6 ms 372 KB Correct answer: answer = 10267
103 Correct 13 ms 504 KB Correct answer: answer = 2582408
104 Correct 3 ms 504 KB Correct answer: answer = 78024964781
105 Correct 4 ms 504 KB Correct answer: answer = 9866346457
106 Correct 4 ms 504 KB Correct answer: answer = 3327720949
107 Correct 4 ms 504 KB Correct answer: answer = 86064128360
108 Correct 5 ms 504 KB Correct answer: answer = 12698259150
109 Correct 9 ms 504 KB Correct answer: answer = 1185259288
110 Correct 22 ms 2168 KB Correct answer: answer = 999889968863
111 Correct 22 ms 2168 KB Correct answer: answer = 999861384931
112 Correct 21 ms 2168 KB Correct answer: answer = 999811809929
113 Correct 22 ms 2168 KB Correct answer: answer = 999869756441
114 Correct 101 ms 3064 KB Correct answer: answer = 1700000000
115 Correct 111 ms 3092 KB Correct answer: answer = 131666670
116 Correct 36 ms 1476 KB Correct answer: answer = 89478486
117 Correct 35 ms 1348 KB Correct answer: answer = 4971040
118 Correct 34 ms 1348 KB Correct answer: answer = 2711494
119 Correct 109 ms 3320 KB Correct answer: answer = 25252530
120 Correct 104 ms 3304 KB Correct answer: answer = 62500000
121 Correct 142 ms 2936 KB Correct answer: answer = 333175097780
122 Correct 155 ms 2840 KB Correct answer: answer = 33121180179
123 Correct 146 ms 2804 KB Correct answer: answer = 9802314015
124 Correct 112 ms 3336 KB Correct answer: answer = 32567551
125 Correct 110 ms 3400 KB Correct answer: answer = 997525000000
126 Correct 127 ms 2804 KB Correct answer: answer = 752723538884
127 Correct 16 ms 2168 KB Correct answer: answer = 1000000000000
128 Correct 23 ms 2296 KB Correct answer: answer = 999978000121
129 Correct 26 ms 2172 KB Correct answer: answer = 745986144735
130 Correct 15 ms 1656 KB Correct answer: answer = 2
131 Correct 111 ms 3320 KB Correct answer: answer = 277966670
132 Correct 94 ms 3292 KB Correct answer: answer = 2500900082
133 Correct 33 ms 2268 KB Correct answer: answer = 301248349636
134 Correct 65 ms 1700 KB Correct answer: answer = 14118891
135 Correct 21 ms 2168 KB Correct answer: answer = 14384977265
136 Correct 22 ms 2168 KB Correct answer: answer = 3681368330
137 Correct 23 ms 2140 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Correct answer: answer = 4
2 Correct 3 ms 376 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 256 KB Correct answer: answer = 12
5 Correct 2 ms 376 KB Correct answer: answer = 52
6 Correct 2 ms 256 KB Correct answer: answer = 210
7 Correct 2 ms 376 KB Correct answer: answer = 88
8 Correct 3 ms 376 KB Correct answer: answer = 7696
9 Correct 2 ms 256 KB Correct answer: answer = 1
10 Correct 2 ms 376 KB Correct answer: answer = 2374
11 Correct 2 ms 348 KB Correct answer: answer = 9502
12 Correct 2 ms 376 KB Correct answer: answer = 49
13 Correct 2 ms 256 KB Correct answer: answer = 151
14 Correct 2 ms 256 KB Correct answer: answer = 7550
15 Correct 2 ms 256 KB Correct answer: answer = 7220
16 Correct 2 ms 256 KB Correct answer: answer = 7550
17 Correct 2 ms 376 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 2 ms 256 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 376 KB Correct answer: answer = 4
23 Correct 2 ms 376 KB Correct answer: answer = 1
24 Correct 2 ms 256 KB Correct answer: answer = 5
25 Correct 2 ms 256 KB Correct answer: answer = 41
26 Correct 2 ms 256 KB Correct answer: answer = 71923
27 Correct 2 ms 256 KB Correct answer: answer = 77137
28 Correct 3 ms 376 KB Correct answer: answer = 764
29 Correct 3 ms 376 KB Correct answer: answer = 250000
30 Correct 3 ms 376 KB Correct answer: answer = 500
31 Correct 2 ms 376 KB Correct answer: answer = 32
32 Correct 3 ms 376 KB Correct answer: answer = 130050
33 Correct 3 ms 376 KB Correct answer: answer = 5110
34 Correct 3 ms 376 KB Correct answer: answer = 2626
35 Correct 3 ms 376 KB Correct answer: answer = 796
36 Correct 3 ms 376 KB Correct answer: answer = 7580
37 Correct 3 ms 376 KB Correct answer: answer = 1904
38 Correct 3 ms 364 KB Correct answer: answer = 996004
39 Correct 3 ms 376 KB Correct answer: answer = 38817
40 Correct 3 ms 376 KB Correct answer: answer = 4096
41 Correct 2 ms 376 KB Correct answer: answer = 1
42 Correct 2 ms 392 KB Correct answer: answer = 1
43 Correct 3 ms 376 KB Correct answer: answer = 2040
44 Correct 2 ms 256 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 312 KB Correct answer: answer = 9
47 Correct 2 ms 276 KB Correct answer: answer = 9
48 Correct 2 ms 376 KB Correct answer: answer = 21
49 Correct 2 ms 376 KB Correct answer: answer = 71
50 Correct 2 ms 376 KB Correct answer: answer = 77
51 Correct 2 ms 376 KB Correct answer: answer = 400
52 Correct 2 ms 256 KB Correct answer: answer = 996004
53 Correct 2 ms 376 KB Correct answer: answer = 997310
54 Correct 3 ms 376 KB Correct answer: answer = 990781
55 Correct 2 ms 256 KB Correct answer: answer = 996545
56 Correct 2 ms 376 KB Correct answer: answer = 484
57 Correct 2 ms 376 KB Correct answer: answer = 484
58 Correct 3 ms 376 KB Correct answer: answer = 63501
59 Correct 3 ms 376 KB Correct answer: answer = 323501
60 Correct 3 ms 376 KB Correct answer: answer = 752500
61 Correct 3 ms 376 KB Correct answer: answer = 761480
62 Correct 2 ms 376 KB Correct answer: answer = 758932
63 Correct 3 ms 376 KB Correct answer: answer = 1000000
64 Correct 3 ms 376 KB Correct answer: answer = 750500
65 Correct 2 ms 376 KB Correct answer: answer = 1000000
66 Correct 2 ms 376 KB Correct answer: answer = 250000
67 Correct 3 ms 376 KB Correct answer: answer = 250000
68 Correct 2 ms 256 KB Correct answer: answer = 1000000
69 Correct 2 ms 376 KB Correct answer: answer = 994009
70 Correct 2 ms 376 KB Correct answer: answer = 59315
71 Correct 2 ms 376 KB Correct answer: answer = 25454
72 Correct 3 ms 376 KB Correct answer: answer = 1504
73 Correct 2 ms 376 KB Correct answer: answer = 37486
74 Correct 3 ms 376 KB Correct answer: answer = 4284
75 Correct 2 ms 376 KB Correct answer: answer = 158008
76 Correct 2 ms 256 KB Correct answer: answer = 51860
77 Correct 2 ms 376 KB Correct answer: answer = 12985
78 Correct 4 ms 508 KB Correct answer: answer = 997864126212
79 Correct 4 ms 504 KB Correct answer: answer = 998608411647
80 Correct 4 ms 504 KB Correct answer: answer = 995265560477
81 Correct 9 ms 504 KB Correct answer: answer = 10125000
82 Correct 10 ms 504 KB Correct answer: answer = 2291668
83 Correct 6 ms 504 KB Correct answer: answer = 42388
84 Correct 6 ms 504 KB Correct answer: answer = 10318
85 Correct 6 ms 376 KB Correct answer: answer = 3416
86 Correct 14 ms 504 KB Correct answer: answer = 331708193881
87 Correct 14 ms 620 KB Correct answer: answer = 2861193756
88 Correct 13 ms 504 KB Correct answer: answer = 114646930
89 Correct 9 ms 504 KB Correct answer: answer = 9280921
90 Correct 10 ms 508 KB Correct answer: answer = 999984053400
91 Correct 13 ms 504 KB Correct answer: answer = 750935949134
92 Correct 3 ms 504 KB Correct answer: answer = 1000000000000
93 Correct 4 ms 504 KB Correct answer: answer = 998762383161
94 Correct 13 ms 504 KB Correct answer: answer = 23017412908
95 Correct 3 ms 380 KB Correct answer: answer = 728143410622
96 Correct 3 ms 380 KB Correct answer: answer = 2
97 Correct 10 ms 504 KB Correct answer: answer = 1824916
98 Correct 11 ms 504 KB Correct answer: answer = 10680029
99 Correct 11 ms 508 KB Correct answer: answer = 18351700
100 Correct 9 ms 632 KB Correct answer: answer = 16040026
101 Correct 4 ms 504 KB Correct answer: answer = 253968628325
102 Correct 6 ms 372 KB Correct answer: answer = 10267
103 Correct 13 ms 504 KB Correct answer: answer = 2582408
104 Correct 3 ms 504 KB Correct answer: answer = 78024964781
105 Correct 4 ms 504 KB Correct answer: answer = 9866346457
106 Correct 4 ms 504 KB Correct answer: answer = 3327720949
107 Correct 4 ms 504 KB Correct answer: answer = 86064128360
108 Correct 5 ms 504 KB Correct answer: answer = 12698259150
109 Correct 9 ms 504 KB Correct answer: answer = 1185259288
110 Correct 22 ms 2168 KB Correct answer: answer = 999889968863
111 Correct 22 ms 2168 KB Correct answer: answer = 999861384931
112 Correct 21 ms 2168 KB Correct answer: answer = 999811809929
113 Correct 22 ms 2168 KB Correct answer: answer = 999869756441
114 Correct 101 ms 3064 KB Correct answer: answer = 1700000000
115 Correct 111 ms 3092 KB Correct answer: answer = 131666670
116 Correct 36 ms 1476 KB Correct answer: answer = 89478486
117 Correct 35 ms 1348 KB Correct answer: answer = 4971040
118 Correct 34 ms 1348 KB Correct answer: answer = 2711494
119 Correct 109 ms 3320 KB Correct answer: answer = 25252530
120 Correct 104 ms 3304 KB Correct answer: answer = 62500000
121 Correct 142 ms 2936 KB Correct answer: answer = 333175097780
122 Correct 155 ms 2840 KB Correct answer: answer = 33121180179
123 Correct 146 ms 2804 KB Correct answer: answer = 9802314015
124 Correct 112 ms 3336 KB Correct answer: answer = 32567551
125 Correct 110 ms 3400 KB Correct answer: answer = 997525000000
126 Correct 127 ms 2804 KB Correct answer: answer = 752723538884
127 Correct 16 ms 2168 KB Correct answer: answer = 1000000000000
128 Correct 23 ms 2296 KB Correct answer: answer = 999978000121
129 Correct 26 ms 2172 KB Correct answer: answer = 745986144735
130 Correct 15 ms 1656 KB Correct answer: answer = 2
131 Correct 111 ms 3320 KB Correct answer: answer = 277966670
132 Correct 94 ms 3292 KB Correct answer: answer = 2500900082
133 Correct 33 ms 2268 KB Correct answer: answer = 301248349636
134 Correct 65 ms 1700 KB Correct answer: answer = 14118891
135 Correct 21 ms 2168 KB Correct answer: answer = 14384977265
136 Correct 22 ms 2168 KB Correct answer: answer = 3681368330
137 Correct 23 ms 2140 KB Correct answer: answer = 2720316816
138 Correct 47 ms 4088 KB Correct answer: answer = 999976000144
139 Correct 42 ms 4216 KB Correct answer: answer = 999856102410
140 Correct 42 ms 4092 KB Correct answer: answer = 999958401531
141 Correct 42 ms 4088 KB Correct answer: answer = 999769649944
142 Correct 43 ms 3960 KB Correct answer: answer = 999874525918
143 Correct 212 ms 6108 KB Correct answer: answer = 6050000000
144 Correct 225 ms 6224 KB Correct answer: answer = 1112500000
145 Correct 113 ms 4232 KB Correct answer: answer = 4294967296
146 Correct 146 ms 4224 KB Correct answer: answer = 87652406
147 Correct 144 ms 4256 KB Correct answer: answer = 6297664
148 Correct 135 ms 4248 KB Correct answer: answer = 196612
149 Correct 223 ms 6308 KB Correct answer: answer = 15015100
150 Correct 212 ms 6308 KB Correct answer: answer = 25000000
151 Correct 274 ms 5220 KB Correct answer: answer = 333230209550
152 Correct 279 ms 5232 KB Correct answer: answer = 917123769
153 Correct 261 ms 5232 KB Correct answer: answer = 95162
154 Correct 229 ms 6280 KB Correct answer: answer = 382616191
155 Correct 225 ms 6396 KB Correct answer: answer = 990033333400
156 Correct 220 ms 6488 KB Correct answer: answer = 990000100000
157 Correct 233 ms 5220 KB Correct answer: answer = 749998188180
158 Correct 28 ms 3960 KB Correct answer: answer = 1000000000000
159 Correct 42 ms 3956 KB Correct answer: answer = 999988000036
160 Correct 42 ms 3960 KB Correct answer: answer = 744929274393
161 Correct 21 ms 3068 KB Correct answer: answer = 2
162 Correct 218 ms 6304 KB Correct answer: answer = 1300024
163 Correct 210 ms 6272 KB Correct answer: answer = 5000700010
164 Correct 66 ms 4088 KB Correct answer: answer = 354997100800
165 Correct 127 ms 2676 KB Correct answer: answer = 257000
166 Correct 148 ms 3344 KB Correct answer: answer = 3765323
167 Correct 127 ms 3356 KB Correct answer: answer = 1525903
168 Correct 42 ms 4080 KB Correct answer: answer = 67618137730
169 Correct 42 ms 4080 KB Correct answer: answer = 12656680171
170 Correct 47 ms 4088 KB Correct answer: answer = 579831736
171 Correct 104 ms 4472 KB Correct answer: answer = 23605611
172 Correct 47 ms 4072 KB Correct answer: answer = 7052481200
173 Correct 69 ms 4240 KB Correct answer: answer = 1314039500
174 Correct 76 ms 4444 KB Correct answer: answer = 302484000
175 Correct 145 ms 4596 KB Correct answer: answer = 52348480