Submission #747815

# Submission time Handle Problem Language Result Execution time Memory
747815 2023-05-24T20:18:23 Z Sam_a17 Event Hopping 2 (JOI21_event2) C++17
100 / 100
373 ms 39268 KB
#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
//#include "temp.cpp"
#include <cstdio>
using namespace std;
 
#ifndef ONLINE_JUDGE
#define dbg(x) cerr << #x <<" "; print(x); cerr << endl;
#else
#define dbg(x)
#endif
 
#define sz(x) (int((x).size()))
#define len(x) (int)x.length()
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define clr(x) (x).clear()
#define uniq(x) x.resize(unique(all(x)) - x.begin());
 
#define pb push_back
#define popf pop_front
#define popb pop_back
 
void print(long long t) {cerr << t;}
void print(int t) {cerr << t;}
void print(string t) {cerr << t;}
void print(char t) {cerr << t;}
void print(double t) {cerr << t;}
void print(long double t) {cerr << t;}
void print(unsigned long long t) {cerr << t;}
 
template <class T, class V> void print(pair <T, V> p);
template <class T> void print(vector <T> v);
template <class T> void print(set <T> v);
template <class T, class V> void print(map <T, V> v);
template <class T> void print(multiset <T> v);
template <class T> void print(T v[],T n) {cerr << "["; for(int i = 0; i < n; i++) {cerr << v[i] << " ";} cerr << "]";}
template <class T, class V> void print(pair <T, V> p) {cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}";}
template <class T> void print(vector <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]";}
template <class T> void print(set <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]";}
template <class T> void print(multiset <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void print(map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]";}
 
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
#define nl '\n'
 
// for random generations
mt19937 myrand(chrono::steady_clock::now().time_since_epoch().count());
// mt19937 myrand(131);

// for grid problems
int dx[8] = {-1,0,1,0,1,-1,1,-1};
int dy[8] = {0,1,0,-1,1,1,-1,-1};
 
// lowest / (1 << 17) >= 1e5 / (1 << 18) >= 2e5 / (1 << 21) >= 1e6
void fastIO() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr); cout.tie(nullptr);
}
// file in/out
void setIO(string str = "") {
  fastIO();
 
  if (str != "") {
    freopen((str + ".in").c_str(), "r", stdin);
    freopen((str + ".out").c_str(), "w", stdout);
  }
}
// Indexed Set
template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
const int N = 1e5 + 10, LOG = 21;
int up[N][LOG];
int n, k;

// segment Tree Max
// Range Queries
struct segTree {
  vector<pair<long long, long long>> mTree;
  int size;

  void init(long long n) {
    size = 1;
    while(size < n)  {
      size *= 2;
    }
    mTree.assign(2 * size - 1, {INT64_MAX, -1});
  }

  pair<long long, long long> combine(pair<long long, long long> a, pair<long long, long long> b) {
    if(a.first < b.first) {
      return a;
    } else if(a.first > b.first) {
      return b;
    } else {
      return {a.first, min(a.second, b.second)};
    }
  }

  void upd(int u, long long v, int ind, int x, int lx, int rx) { // set value at pos u
    if(rx - lx == 1) {
      if(v < mTree[x].first) {
        mTree[x].first = v;
        mTree[x].second = ind;
      }
      return;
    }

    int m = (lx + rx) / 2;
    if(u < m) {
      upd(u, v, ind, 2 * x + 1, lx, m);
    }else {
      upd(u, v, ind, 2 * x + 2, m, rx);
    }
    mTree[x] = combine(mTree[2 * x + 1], mTree[2 * x + 2]);
  }

  void upd(int u, long long v, int ind) {
    upd(u, v, ind, 0, 0, size);
  }

  pair<long long, long long> qry (int l, int r, int x, int lx, int rx) { // range queries
    if(l >= rx || lx >= r) {
      return {INT64_MAX, -1};
    }
    if(lx >= l && r >= rx) {
      return mTree[x];
    }

    int m = (rx + lx) / 2;
    auto s1 = qry(l, r, 2 * x + 1, lx, m);
    auto s2 = qry(l, r, 2 * x + 2, m, rx);
    return combine(s1, s2);
  }

  pair<long long, long long> qry(int l, int r) {
    return qry(l, r, 0, 0, size);
  }
};

segTree seg_max;


struct segmTree {
  struct node {
      long long value, lazy;
  };
  int size = 1;
  vector<node> tree;

  void init(int s) {
    while(s > size) {
        size *= 2;
    }

    tree.assign(2 * size - 1, {0, 0});
  }

  void propagate(int x, int lx, int rx) {
    if(rx - lx == 1 || !tree[x].lazy) {
      tree[x].lazy = 0;
      return;
    }

    int mid = (lx + rx) / 2;
    tree[2 * x + 1].value += tree[x].lazy * (mid - lx);
    tree[2 * x + 1].lazy += tree[x].lazy;

    tree[2 * x + 2].value += tree[x].lazy * (rx - mid);
    tree[2 * x + 2].lazy += tree[x].lazy;

    tree[x].lazy = 0;
  }

  void upd(int l, int r, long long value, int x, int lx, int rx) {
    propagate(x, lx, rx);
    if(lx >= r || rx <= l) {
      return;
    }

    if(lx >= l && rx <= r) {
      tree[x] = {tree[x].value + value * (rx - lx), value};
      propagate(x, lx, rx);
      return;
    }

    int mid = (lx + rx) / 2;
    upd(l, r, value, 2 * x + 1, lx, mid);
    upd(l, r, value, 2 * x + 2, mid, rx);
    tree[x].value = tree[2 * x + 1].value + tree[2 * x + 2].value;
  }

  void upd(int l, int r, long long value) {
    upd(l, r, value, 0, 0, size);
  }

  long long qry(int l, int r, int x, int lx, int rx) {
    propagate(x, lx, rx);
    if(lx >= r || rx <= l) {
      return 0;
    }

    if(lx >= l && rx <= r) {
      return tree[x].value;
    }

    int mid = (lx + rx) / 2;
    long long s1 = qry(l, r, 2 * x + 1, lx, mid);
    long long s2 = qry(l, r, 2 * x + 2, mid, rx);
    return s1 + s2;
  }

  long long qry(int l, int r) {
    return qry(l, r, 0, 0, size);
  }
};

segmTree seg, del;

vector<pair<pair<int, int>, int>> a;
pair<int, int> arr[N];

int calc(int l, int r) {
  auto u = seg_max.qry(l, r + 1);
  if(u.first > r) {
    return 0;
  }


  int curr = u.second, go = 1;
  for(int i = LOG - 1; i >= 0; i--) {
    if(up[curr][i] < n) {
      int ind = up[curr][i];
      if(arr[ind].second <= r) {
        curr = up[curr][i];
        go += (1 << i);
      }
    }
  }

  return go;
}

void solve_() {
  cin >> n >> k;

  vector<int> compress;

  for(int i = 1; i <= n; i++) {
    int l, r; cin >> l >> r;
    a.push_back({{r, l}, i - 1});

    //
    compress.push_back(l);
    compress.push_back(r);
  }

  sort(all(a));
  sort(all(compress));
  uniq(compress);

  seg_max.init(sz(compress) + 4);

  for(int i = 0; i < n; i++) {
    a[i].first.first = lower_bound(all(compress), a[i].first.first) - compress.begin() + 1;
    a[i].first.second = lower_bound(all(compress), a[i].first.second) - compress.begin() + 1;
    arr[a[i].second] = {a[i].first.second, a[i].first.first};
    seg_max.upd(a[i].first.second, a[i].first.first, a[i].second);
  }

  int it = 0;
  for(int i = 0; i < n; i++) {
    while(it < n && a[it].first.second < a[i].first.first) {
      it++;
    }

    if(it == n) {
      up[a[i].second][0] = n;
    } else {
      up[a[i].second][0] = a[it].second;
    }
  }

  for(int i = 0; i < LOG; i++) {
    up[n][i] = n;
  }

  for(int j = 1; j < LOG; j++) {
    for(int i = 0; i < n; i++) {
      up[i][j] = up[up[i][j - 1]][j - 1];
    }
  }

  set<int> st;
  
  st.insert(0);
  st.insert(sz(compress) + 2);

  if(calc(0, sz(compress) + 2) < k) {
    cout << -1 << '\n';
    return;
  }
  
  seg.init(sz(compress) + 5);
  vector<int> answ;

  int all = calc(0, sz(compress) + 2);
  for(int i = 0; i < n; i++) {
    // dbg(arr[i])
    int s1 = seg.qry(arr[i].first, arr[i].second);
    if(s1) continue;

    st.insert(arr[i].first);
    st.insert(arr[i].second);

    auto itl = prev(st.find(arr[i].first));
    auto itr = next(st.find(arr[i].second));

    int new_all = all - calc(*itl, *itr);
    new_all += calc(*itl, arr[i].first) + 1 + calc(arr[i].second, *itr); 
    if(new_all >= k) {
      answ.push_back(i + 1);
      // dbg(make_pair(arr[i].first, arr[i].second))
      seg.upd(arr[i].first, arr[i].second, 1);
      all = new_all;
    } else {
      if(!seg.qry(arr[i].first, arr[i].first + 1)) st.erase(arr[i].first);
      if(!seg.qry(arr[i].second, arr[i].second + 1)) st.erase(arr[i].second);
    }

    if(sz(answ) == k) break;
  }

  assert(sz(answ) == k);
  for(auto i: answ) {
    cout << i << '\n';
  }
}
 
int main() {
  setIO();
  
  auto solve = [&](int test_case)-> void {
    while(test_case--) {
      solve_();
    }
  };
 
  int test_cases = 1; 
  // cin >> test_cases;
  solve(test_cases);
 
  return 0;
}

Compilation message

event2.cpp: In function 'void setIO(std::string)':
event2.cpp:66:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   66 |     freopen((str + ".in").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
event2.cpp:67:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |     freopen((str + ".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 244 ms 37344 KB Output is correct
5 Correct 232 ms 38712 KB Output is correct
6 Correct 217 ms 38244 KB Output is correct
7 Correct 205 ms 37252 KB Output is correct
8 Correct 240 ms 39268 KB Output is correct
9 Correct 230 ms 38716 KB Output is correct
10 Correct 214 ms 38272 KB Output is correct
11 Correct 191 ms 37364 KB Output is correct
12 Correct 180 ms 35484 KB Output is correct
13 Correct 172 ms 35284 KB Output is correct
14 Correct 172 ms 35020 KB Output is correct
15 Correct 160 ms 34332 KB Output is correct
16 Correct 123 ms 30964 KB Output is correct
17 Correct 110 ms 30840 KB Output is correct
18 Correct 110 ms 30608 KB Output is correct
19 Correct 104 ms 29836 KB Output is correct
20 Correct 102 ms 29840 KB Output is correct
21 Correct 97 ms 29720 KB Output is correct
22 Correct 108 ms 29828 KB Output is correct
23 Correct 115 ms 29832 KB Output is correct
24 Correct 111 ms 29832 KB Output is correct
25 Correct 119 ms 29804 KB Output is correct
26 Correct 119 ms 29780 KB Output is correct
27 Correct 124 ms 29820 KB Output is correct
28 Correct 59 ms 21508 KB Output is correct
29 Correct 63 ms 21520 KB Output is correct
30 Correct 66 ms 21660 KB Output is correct
31 Correct 70 ms 21532 KB Output is correct
32 Correct 87 ms 21596 KB Output is correct
33 Correct 86 ms 21580 KB Output is correct
34 Correct 134 ms 33200 KB Output is correct
35 Correct 133 ms 32004 KB Output is correct
36 Correct 92 ms 30784 KB Output is correct
37 Correct 155 ms 34744 KB Output is correct
38 Correct 150 ms 34616 KB Output is correct
39 Correct 168 ms 34388 KB Output is correct
40 Correct 147 ms 34136 KB Output is correct
41 Correct 145 ms 33968 KB Output is correct
42 Correct 74 ms 21580 KB Output is correct
43 Correct 173 ms 34516 KB Output is correct
44 Correct 187 ms 34368 KB Output is correct
45 Correct 165 ms 34100 KB Output is correct
46 Correct 166 ms 34000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 0 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 1 ms 340 KB Output is correct
22 Correct 1 ms 348 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 0 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 1 ms 340 KB Output is correct
22 Correct 1 ms 348 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 340 KB Output is correct
28 Correct 5 ms 1236 KB Output is correct
29 Correct 4 ms 1320 KB Output is correct
30 Correct 4 ms 1236 KB Output is correct
31 Correct 4 ms 1236 KB Output is correct
32 Correct 4 ms 1236 KB Output is correct
33 Correct 3 ms 980 KB Output is correct
34 Correct 3 ms 980 KB Output is correct
35 Correct 7 ms 1492 KB Output is correct
36 Correct 7 ms 1492 KB Output is correct
37 Correct 6 ms 1364 KB Output is correct
38 Correct 3 ms 980 KB Output is correct
39 Correct 7 ms 1448 KB Output is correct
40 Correct 6 ms 1376 KB Output is correct
41 Correct 6 ms 1364 KB Output is correct
42 Correct 2 ms 980 KB Output is correct
43 Correct 7 ms 1364 KB Output is correct
44 Correct 5 ms 1364 KB Output is correct
45 Correct 4 ms 1236 KB Output is correct
46 Correct 3 ms 992 KB Output is correct
47 Correct 4 ms 1252 KB Output is correct
48 Correct 4 ms 1236 KB Output is correct
49 Correct 3 ms 1256 KB Output is correct
50 Correct 2 ms 1064 KB Output is correct
51 Correct 4 ms 1236 KB Output is correct
52 Correct 4 ms 1236 KB Output is correct
53 Correct 4 ms 1236 KB Output is correct
54 Correct 3 ms 980 KB Output is correct
55 Correct 6 ms 1064 KB Output is correct
56 Correct 6 ms 1072 KB Output is correct
57 Correct 6 ms 1108 KB Output is correct
58 Correct 6 ms 1108 KB Output is correct
59 Correct 5 ms 1108 KB Output is correct
60 Correct 5 ms 1108 KB Output is correct
61 Correct 5 ms 1108 KB Output is correct
62 Correct 6 ms 1068 KB Output is correct
63 Correct 5 ms 1108 KB Output is correct
64 Correct 2 ms 852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 244 ms 37344 KB Output is correct
5 Correct 232 ms 38712 KB Output is correct
6 Correct 217 ms 38244 KB Output is correct
7 Correct 205 ms 37252 KB Output is correct
8 Correct 240 ms 39268 KB Output is correct
9 Correct 230 ms 38716 KB Output is correct
10 Correct 214 ms 38272 KB Output is correct
11 Correct 191 ms 37364 KB Output is correct
12 Correct 180 ms 35484 KB Output is correct
13 Correct 172 ms 35284 KB Output is correct
14 Correct 172 ms 35020 KB Output is correct
15 Correct 160 ms 34332 KB Output is correct
16 Correct 123 ms 30964 KB Output is correct
17 Correct 110 ms 30840 KB Output is correct
18 Correct 110 ms 30608 KB Output is correct
19 Correct 104 ms 29836 KB Output is correct
20 Correct 102 ms 29840 KB Output is correct
21 Correct 97 ms 29720 KB Output is correct
22 Correct 108 ms 29828 KB Output is correct
23 Correct 115 ms 29832 KB Output is correct
24 Correct 111 ms 29832 KB Output is correct
25 Correct 119 ms 29804 KB Output is correct
26 Correct 119 ms 29780 KB Output is correct
27 Correct 124 ms 29820 KB Output is correct
28 Correct 59 ms 21508 KB Output is correct
29 Correct 63 ms 21520 KB Output is correct
30 Correct 66 ms 21660 KB Output is correct
31 Correct 70 ms 21532 KB Output is correct
32 Correct 87 ms 21596 KB Output is correct
33 Correct 86 ms 21580 KB Output is correct
34 Correct 134 ms 33200 KB Output is correct
35 Correct 133 ms 32004 KB Output is correct
36 Correct 92 ms 30784 KB Output is correct
37 Correct 155 ms 34744 KB Output is correct
38 Correct 150 ms 34616 KB Output is correct
39 Correct 168 ms 34388 KB Output is correct
40 Correct 147 ms 34136 KB Output is correct
41 Correct 145 ms 33968 KB Output is correct
42 Correct 74 ms 21580 KB Output is correct
43 Correct 173 ms 34516 KB Output is correct
44 Correct 187 ms 34368 KB Output is correct
45 Correct 165 ms 34100 KB Output is correct
46 Correct 166 ms 34000 KB Output is correct
47 Correct 0 ms 212 KB Output is correct
48 Correct 0 ms 212 KB Output is correct
49 Correct 0 ms 340 KB Output is correct
50 Correct 0 ms 340 KB Output is correct
51 Correct 1 ms 340 KB Output is correct
52 Correct 0 ms 340 KB Output is correct
53 Correct 0 ms 340 KB Output is correct
54 Correct 0 ms 340 KB Output is correct
55 Correct 1 ms 340 KB Output is correct
56 Correct 0 ms 340 KB Output is correct
57 Correct 1 ms 340 KB Output is correct
58 Correct 1 ms 340 KB Output is correct
59 Correct 1 ms 340 KB Output is correct
60 Correct 1 ms 340 KB Output is correct
61 Correct 1 ms 340 KB Output is correct
62 Correct 1 ms 340 KB Output is correct
63 Correct 1 ms 340 KB Output is correct
64 Correct 1 ms 340 KB Output is correct
65 Correct 1 ms 340 KB Output is correct
66 Correct 1 ms 340 KB Output is correct
67 Correct 1 ms 340 KB Output is correct
68 Correct 1 ms 348 KB Output is correct
69 Correct 1 ms 340 KB Output is correct
70 Correct 1 ms 340 KB Output is correct
71 Correct 1 ms 340 KB Output is correct
72 Correct 1 ms 340 KB Output is correct
73 Correct 1 ms 340 KB Output is correct
74 Correct 5 ms 1236 KB Output is correct
75 Correct 4 ms 1320 KB Output is correct
76 Correct 4 ms 1236 KB Output is correct
77 Correct 4 ms 1236 KB Output is correct
78 Correct 4 ms 1236 KB Output is correct
79 Correct 3 ms 980 KB Output is correct
80 Correct 3 ms 980 KB Output is correct
81 Correct 7 ms 1492 KB Output is correct
82 Correct 7 ms 1492 KB Output is correct
83 Correct 6 ms 1364 KB Output is correct
84 Correct 3 ms 980 KB Output is correct
85 Correct 7 ms 1448 KB Output is correct
86 Correct 6 ms 1376 KB Output is correct
87 Correct 6 ms 1364 KB Output is correct
88 Correct 2 ms 980 KB Output is correct
89 Correct 7 ms 1364 KB Output is correct
90 Correct 5 ms 1364 KB Output is correct
91 Correct 4 ms 1236 KB Output is correct
92 Correct 3 ms 992 KB Output is correct
93 Correct 4 ms 1252 KB Output is correct
94 Correct 4 ms 1236 KB Output is correct
95 Correct 3 ms 1256 KB Output is correct
96 Correct 2 ms 1064 KB Output is correct
97 Correct 4 ms 1236 KB Output is correct
98 Correct 4 ms 1236 KB Output is correct
99 Correct 4 ms 1236 KB Output is correct
100 Correct 3 ms 980 KB Output is correct
101 Correct 6 ms 1064 KB Output is correct
102 Correct 6 ms 1072 KB Output is correct
103 Correct 6 ms 1108 KB Output is correct
104 Correct 6 ms 1108 KB Output is correct
105 Correct 5 ms 1108 KB Output is correct
106 Correct 5 ms 1108 KB Output is correct
107 Correct 5 ms 1108 KB Output is correct
108 Correct 6 ms 1068 KB Output is correct
109 Correct 5 ms 1108 KB Output is correct
110 Correct 2 ms 852 KB Output is correct
111 Correct 162 ms 29824 KB Output is correct
112 Correct 155 ms 29820 KB Output is correct
113 Correct 160 ms 29824 KB Output is correct
114 Correct 168 ms 29928 KB Output is correct
115 Correct 158 ms 29724 KB Output is correct
116 Correct 104 ms 21580 KB Output is correct
117 Correct 100 ms 21588 KB Output is correct
118 Correct 373 ms 39244 KB Output is correct
119 Correct 321 ms 38356 KB Output is correct
120 Correct 221 ms 34388 KB Output is correct
121 Correct 81 ms 21604 KB Output is correct
122 Correct 265 ms 35660 KB Output is correct
123 Correct 259 ms 34904 KB Output is correct
124 Correct 240 ms 34392 KB Output is correct
125 Correct 86 ms 21612 KB Output is correct
126 Correct 199 ms 30844 KB Output is correct
127 Correct 176 ms 30820 KB Output is correct
128 Correct 148 ms 30700 KB Output is correct
129 Correct 80 ms 21624 KB Output is correct
130 Correct 176 ms 29836 KB Output is correct
131 Correct 149 ms 29776 KB Output is correct
132 Correct 142 ms 29840 KB Output is correct
133 Correct 82 ms 21588 KB Output is correct
134 Correct 173 ms 29780 KB Output is correct
135 Correct 148 ms 29828 KB Output is correct
136 Correct 132 ms 29808 KB Output is correct
137 Correct 85 ms 21636 KB Output is correct
138 Correct 148 ms 29820 KB Output is correct
139 Correct 144 ms 29964 KB Output is correct
140 Correct 108 ms 29816 KB Output is correct
141 Correct 91 ms 21612 KB Output is correct
142 Correct 233 ms 27104 KB Output is correct
143 Correct 227 ms 27084 KB Output is correct
144 Correct 223 ms 27092 KB Output is correct
145 Correct 226 ms 27000 KB Output is correct
146 Correct 222 ms 26900 KB Output is correct
147 Correct 213 ms 26768 KB Output is correct
148 Correct 218 ms 26656 KB Output is correct
149 Correct 202 ms 26588 KB Output is correct
150 Correct 201 ms 26408 KB Output is correct
151 Correct 189 ms 25968 KB Output is correct
152 Correct 60 ms 17492 KB Output is correct
153 Correct 219 ms 27032 KB Output is correct
154 Correct 218 ms 26924 KB Output is correct
155 Correct 219 ms 26784 KB Output is correct
156 Correct 210 ms 26700 KB Output is correct
157 Correct 210 ms 26720 KB Output is correct
158 Correct 213 ms 26516 KB Output is correct
159 Correct 188 ms 25964 KB Output is correct
160 Correct 57 ms 17496 KB Output is correct
161 Correct 231 ms 34168 KB Output is correct
162 Correct 216 ms 34044 KB Output is correct
163 Correct 224 ms 33916 KB Output is correct
164 Correct 210 ms 33808 KB Output is correct
165 Correct 193 ms 33544 KB Output is correct
166 Correct 75 ms 21560 KB Output is correct
167 Correct 173 ms 34556 KB Output is correct
168 Correct 166 ms 34356 KB Output is correct
169 Correct 161 ms 34132 KB Output is correct
170 Correct 167 ms 34004 KB Output is correct
171 Correct 155 ms 34256 KB Output is correct
172 Correct 153 ms 34764 KB Output is correct
173 Correct 265 ms 24360 KB Output is correct
174 Correct 261 ms 24336 KB Output is correct
175 Correct 237 ms 24308 KB Output is correct
176 Correct 193 ms 24524 KB Output is correct