답안 #777656

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
777656 2023-07-09T12:26:59 Z Sam_a17 새 집 (APIO18_new_home) C++17
47 / 100
1265 ms 736440 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 blt __builtin_popcount
 
#define pb push_back
#define popf pop_front
#define popb pop_back
#define ld long double
#define ll long long
 
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;}
 
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
#define nl '\n'
 
// Indexed Set  
template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 
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, class V> void print(T v[],V n) {cerr << "["; for(int i = 0; i < n; i++) {print(v[i]); cerr << " "; } 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(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> void print(Tree <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 << "]";}
template <class T> void print(deque <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]";}
 
 
// 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 == "input") {
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
  // } else if(str != "") {
    // freopen((str + ".in").c_str(), "r", stdin);
    // freopen((str + ".out").c_str(), "w", stdout);
  // }
}
 
const int N = 2e6 + 10, maxM = 3e5 + 10, inf = 1e8, infi = 2e9 + 10;
vector<pair<pair<int, int>, int>> to_add[N];
int n, k, q;
 
struct node {
  int x, t, a, b;
};
 
vector<node> cand;

struct segTreeMax {  // Range Queries
  multiset<int> mt[N];
  vector<int> mTree;
  int size, sub;

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

  void upd(int u, ll v, int x, int lx, int rx) { // set value at pos u
    if(rx - lx == 1) {
      x -= sub;
      if(v >= 0) {
        mt[x].insert(v);
      } else {
        assert(mt[x].find(-v) != mt[x].end());
        mt[x].erase(mt[x].find(-v));
      }

      if(!mt[x].empty()) {
        mTree[x + sub] = *prev(mt[x].end());
      } else {
        mTree[x + sub] = -1;
      }
      return;
    }

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

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

  int gt(int u, int x, int lx, int rx) { // set value at pos u
    if(rx - lx == 1) {
      sub = x;
      return x;
    }

    int m = (lx + rx) / 2;
    if(u < m) {
      return gt(u, 2 * x + 1, lx, m);
    }else {
      return gt(u, 2 * x + 2, m, rx);
    }
  }

  int gt(int u) {
    return gt(u, 0, 0, size);
  }

  int qry(int l, int r, int x, int lx, int rx) { // range queries
    if(l >= rx || lx >= r) {
      return -1;
    }

    if(lx >= l && r >= rx) {
      return mTree[x];
    }

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

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

struct segTreeMin {  // Range Queries
  multiset<int> mt[N];
  vector<int> mTree;
  int size;
  int sub;

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

  int ind(int xx) {
    if(xx >= sub) {
      return xx - sub;
    } else {
      return xx;
    }
  }

  void upd(int u, ll v, int x, int lx, int rx) { // set value at pos u
    if(rx - lx == 1) {
      x -= sub;
      if(v >= 0) {
        mt[x].insert(v);
      } else {
        assert(mt[x].find(-v) != mt[x].end());
        mt[x].erase(mt[x].find(-v));
      }

      if(!mt[x].empty()) {
        mTree[x + sub] = *mt[x].begin();
      } else {
        mTree[x + sub] = INT32_MAX;
      }
      return;
    }

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

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

  int gt(int u, int x, int lx, int rx) { // set value at pos u
    if(rx - lx == 1) {
      sub = x;
      return x;
    }

    int m = (lx + rx) / 2;
    if(u < m) {
      return gt(u, 2 * x + 1, lx, m);
    }else {
      return gt(u, 2 * x + 2, m, rx);
    }
  }

  int gt(int u) {
    return gt(u, 0, 0, size);
  }

  int qry(int l, int r, int x, int lx, int rx) { // range queries
    if(l >= rx || lx >= r) {
      return INT32_MAX;
    }

    if(lx >= l && r >= rx) {
      return mTree[x];
    }

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

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

segTreeMax rs;
segTreeMin ls;

vector<int> compress_times, compress_locations;
map<int, int> mx_col[maxM];
int pat[maxM];

int get(int val) {
  return lower_bound(all(compress_locations), val) - compress_locations.begin();
}

void add_interval(int type, int l, int r) {
  int mid = (l + r + 1) / 2;
  l = get(l);
  r = get(r);
  int midone = get(mid - 1);
  mid = midone + 1;
  
  if(mid <= r) {
    rs.upd(mid, r);
  }
  if(l < mid) {
    ls.upd(midone, l);
  }
}

void del_interval(int type, int l, int r) {
  int mid = (l + r + 1) / 2;
  
  l = get(l);
  r = get(r);
  int midone = get(mid - 1);
  mid = midone + 1;

  if(mid <= r) rs.upd(mid, -r);
  if(l < mid) ls.upd(midone, -l);
}

void solve_() {
  cin >> n >> k >> q;
 
  for(int i = 1; i <= n; i++) {
    int x, t, a, b; 
    cin >> x >> t >> a >> b;
    
    compress_times.push_back(a);
    compress_times.push_back(b + 1);

    compress_locations.push_back(x);

    cand.push_back({x, t, a, b});
  }

  vector<pair<int, int>> queries;
  for(int i = 1; i <= q; i++) {
    int l, y; cin >> l >> y;
    compress_locations.push_back(l);
    compress_times.push_back(y);
    queries.emplace_back(l, y);
  }

  compress_locations.push_back(-infi);
  compress_locations.push_back(infi);
  
  sort(all(compress_times));
  uniq(compress_times);


  for(auto &i: cand) {
    i.a = lower_bound(all(compress_times), i.a) - compress_times.begin();
    i.b = lower_bound(all(compress_times), i.b + 1) - compress_times.begin();

    to_add[i.a].push_back({{i.x, i.t}, 1});
    to_add[i.b].push_back({{i.x, i.t}, 2});
  } 

  for(int i = 1; i <= k; i++) {
    mx_col[i][-infi] = 1;
    mx_col[i][infi] = 1;
  }

  for(int i = 0; i < sz(compress_times); i++) {
    for(auto cc: to_add[i]) {
      if(cc.second == 1) { 
        auto j = cc.first;
        if(mx_col[j.second].find(j.first) != mx_col[j.second].end()) {
          mx_col[j.second][j.first]++;
          continue;
        }

        mx_col[j.second][j.first] = 1;
        auto it = mx_col[j.second].find(j.first);
        auto it_prev = prev(it), it_next = next(it);

        int mid1 = (it_next->first + j.first + 1) / 2;
        int mid2 = (it_prev->first + j.first + 1) / 2;

        compress_locations.push_back(mid1);
        compress_locations.push_back(mid1 - 1);

        compress_locations.push_back(mid2);
        compress_locations.push_back(mid2 - 1);
      } else if(cc.second == 2) {
        auto j = cc.first;
        mx_col[j.second][j.first]--;
        if(mx_col[j.second][j.first] == 0) {

          auto it = mx_col[j.second].find(j.first);
          auto it_prev = prev(it), it_next = next(it);

          int mid1 = (it_next->first + it_prev->first + 1) / 2;
          
          compress_locations.push_back(mid1);
          compress_locations.push_back(mid1 - 1);
  
          mx_col[j.second].erase(j.first);
        }
      } 
    }
  }

  int it = 1;
  for(auto &i: queries) {
    i.second = lower_bound(all(compress_times), i.second) - compress_times.begin();
    to_add[i.second].push_back({{i.first, it}, 0});
    it++;
  }

  sort(all(compress_locations));
  uniq(compress_locations);
  ls.init(sz(compress_locations) + 2);
  rs.init(sz(compress_locations) + 2);
  rs.gt(0);
  ls.gt(0);

  for(int i = 1; i <= k; i++) {
    mx_col[i].clear();
    
    mx_col[i][-infi] = 1;
    mx_col[i][infi] = 1;
  }

  vector<bool> empty(k + 1, true);
  int emp = k;
  for(int i = 0; i < sz(compress_times); i++) {
    for(auto cc: to_add[i]) {
      if(cc.second == 1) { 
        auto j = cc.first;
        if(mx_col[j.second].find(j.first) != mx_col[j.second].end()) {
          mx_col[j.second][j.first]++;
          continue;
        }

        mx_col[j.second][j.first] = 1;
        if(sz(mx_col[j.second]) == 3) {
          empty[j.second] = false;
          emp--;
        }

        auto it = mx_col[j.second].find(j.first);
        auto it_prev = prev(it), it_next = next(it);

        int mid1 = (it_next->first + j.first + 1) / 2;
        int mid2 = (it_prev->first + j.first + 1) / 2;

        add_interval(j.second, it_prev->first, j.first);
        add_interval(j.second, j.first, it_next->first);

        if(it_prev->first != -infi || it_next->first != infi) {
          del_interval(j.second, it_prev->first, it_next->first);
        }
      } else if(cc.second == 2) {
        auto j = cc.first;
        mx_col[j.second][j.first]--;
        if(mx_col[j.second][j.first] == 0) {

          auto it = mx_col[j.second].find(j.first);
          if(sz(mx_col[j.second]) == 3) {
            empty[j.second] = true;
            emp++;
          }

          auto it_prev = prev(it), it_next = next(it);
          del_interval(j.second, it_prev->first, j.first);
          del_interval(j.second, j.first, it_next->first);

          if(it_prev->first != -infi || it_next->first != infi) {
            add_interval(j.second, it_prev->first, it_next->first);
          }

          mx_col[j.second].erase(j.first);
        }
      } else {
        auto j = cc.first;
        if(emp) {
          pat[j.second] = -1;
        } else {
          int cur = lower_bound(all(compress_locations), j.first) - compress_locations.begin();
          int li = ls.qry(cur, sz(compress_locations) + 1);
          int ri = rs.qry(0, cur + 1);

          if(li <= cur) {
            pat[j.second] = max(pat[j.second], j.first - compress_locations[li]);
          }

          if(ri >= cur) {
            pat[j.second] = max(pat[j.second], compress_locations[ri] - j.first);
          }
        }
      }
    }
  }

  for(int i = 1; i <= q; i++) {
    cout << pat[i] << '\n';
  }
 }
 
int main() {
  setIO();
 
  auto solve = [&](int test_case)-> void {
    for(int i = 1; i <= test_case; i++) {
      solve_();
    }
  };
 
  int test_cases = 1;
  // cin >> test_cases;
  solve(test_cases);
 
  return 0;
}

Compilation message

new_home.cpp: In function 'void solve_()':
new_home.cpp:429:13: warning: unused variable 'mid1' [-Wunused-variable]
  429 |         int mid1 = (it_next->first + j.first + 1) / 2;
      |             ^~~~
new_home.cpp:430:13: warning: unused variable 'mid2' [-Wunused-variable]
  430 |         int mid2 = (it_prev->first + j.first + 1) / 2;
      |             ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 99 ms 249168 KB Output is correct
2 Correct 108 ms 249252 KB Output is correct
3 Correct 100 ms 249192 KB Output is correct
4 Correct 97 ms 249244 KB Output is correct
5 Correct 99 ms 249236 KB Output is correct
6 Correct 102 ms 249364 KB Output is correct
7 Correct 104 ms 249548 KB Output is correct
8 Correct 102 ms 249480 KB Output is correct
9 Correct 99 ms 249524 KB Output is correct
10 Correct 100 ms 249388 KB Output is correct
11 Correct 99 ms 249392 KB Output is correct
12 Correct 102 ms 249416 KB Output is correct
13 Correct 100 ms 249440 KB Output is correct
14 Correct 99 ms 249332 KB Output is correct
15 Correct 101 ms 249456 KB Output is correct
16 Correct 103 ms 249360 KB Output is correct
17 Correct 101 ms 249452 KB Output is correct
18 Correct 100 ms 249468 KB Output is correct
19 Correct 103 ms 249436 KB Output is correct
20 Correct 102 ms 249420 KB Output is correct
21 Correct 99 ms 249448 KB Output is correct
22 Correct 100 ms 249420 KB Output is correct
23 Correct 100 ms 249400 KB Output is correct
24 Correct 103 ms 249452 KB Output is correct
25 Correct 111 ms 249364 KB Output is correct
26 Correct 103 ms 249420 KB Output is correct
27 Correct 104 ms 249316 KB Output is correct
28 Correct 103 ms 249412 KB Output is correct
29 Correct 102 ms 249336 KB Output is correct
30 Correct 100 ms 249396 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 99 ms 249168 KB Output is correct
2 Correct 108 ms 249252 KB Output is correct
3 Correct 100 ms 249192 KB Output is correct
4 Correct 97 ms 249244 KB Output is correct
5 Correct 99 ms 249236 KB Output is correct
6 Correct 102 ms 249364 KB Output is correct
7 Correct 104 ms 249548 KB Output is correct
8 Correct 102 ms 249480 KB Output is correct
9 Correct 99 ms 249524 KB Output is correct
10 Correct 100 ms 249388 KB Output is correct
11 Correct 99 ms 249392 KB Output is correct
12 Correct 102 ms 249416 KB Output is correct
13 Correct 100 ms 249440 KB Output is correct
14 Correct 99 ms 249332 KB Output is correct
15 Correct 101 ms 249456 KB Output is correct
16 Correct 103 ms 249360 KB Output is correct
17 Correct 101 ms 249452 KB Output is correct
18 Correct 100 ms 249468 KB Output is correct
19 Correct 103 ms 249436 KB Output is correct
20 Correct 102 ms 249420 KB Output is correct
21 Correct 99 ms 249448 KB Output is correct
22 Correct 100 ms 249420 KB Output is correct
23 Correct 100 ms 249400 KB Output is correct
24 Correct 103 ms 249452 KB Output is correct
25 Correct 111 ms 249364 KB Output is correct
26 Correct 103 ms 249420 KB Output is correct
27 Correct 104 ms 249316 KB Output is correct
28 Correct 103 ms 249412 KB Output is correct
29 Correct 102 ms 249336 KB Output is correct
30 Correct 100 ms 249396 KB Output is correct
31 Correct 832 ms 277072 KB Output is correct
32 Correct 166 ms 255888 KB Output is correct
33 Correct 731 ms 271556 KB Output is correct
34 Correct 748 ms 272236 KB Output is correct
35 Correct 800 ms 277120 KB Output is correct
36 Correct 799 ms 276932 KB Output is correct
37 Correct 603 ms 269256 KB Output is correct
38 Correct 608 ms 269056 KB Output is correct
39 Correct 515 ms 268968 KB Output is correct
40 Correct 521 ms 268616 KB Output is correct
41 Correct 641 ms 273484 KB Output is correct
42 Correct 629 ms 273328 KB Output is correct
43 Correct 141 ms 256508 KB Output is correct
44 Correct 636 ms 273408 KB Output is correct
45 Correct 616 ms 273320 KB Output is correct
46 Correct 581 ms 273252 KB Output is correct
47 Correct 406 ms 272828 KB Output is correct
48 Correct 409 ms 272628 KB Output is correct
49 Correct 450 ms 272816 KB Output is correct
50 Correct 479 ms 273416 KB Output is correct
51 Correct 470 ms 272700 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1146 ms 729076 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1265 ms 736440 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 99 ms 249168 KB Output is correct
2 Correct 108 ms 249252 KB Output is correct
3 Correct 100 ms 249192 KB Output is correct
4 Correct 97 ms 249244 KB Output is correct
5 Correct 99 ms 249236 KB Output is correct
6 Correct 102 ms 249364 KB Output is correct
7 Correct 104 ms 249548 KB Output is correct
8 Correct 102 ms 249480 KB Output is correct
9 Correct 99 ms 249524 KB Output is correct
10 Correct 100 ms 249388 KB Output is correct
11 Correct 99 ms 249392 KB Output is correct
12 Correct 102 ms 249416 KB Output is correct
13 Correct 100 ms 249440 KB Output is correct
14 Correct 99 ms 249332 KB Output is correct
15 Correct 101 ms 249456 KB Output is correct
16 Correct 103 ms 249360 KB Output is correct
17 Correct 101 ms 249452 KB Output is correct
18 Correct 100 ms 249468 KB Output is correct
19 Correct 103 ms 249436 KB Output is correct
20 Correct 102 ms 249420 KB Output is correct
21 Correct 99 ms 249448 KB Output is correct
22 Correct 100 ms 249420 KB Output is correct
23 Correct 100 ms 249400 KB Output is correct
24 Correct 103 ms 249452 KB Output is correct
25 Correct 111 ms 249364 KB Output is correct
26 Correct 103 ms 249420 KB Output is correct
27 Correct 104 ms 249316 KB Output is correct
28 Correct 103 ms 249412 KB Output is correct
29 Correct 102 ms 249336 KB Output is correct
30 Correct 100 ms 249396 KB Output is correct
31 Correct 832 ms 277072 KB Output is correct
32 Correct 166 ms 255888 KB Output is correct
33 Correct 731 ms 271556 KB Output is correct
34 Correct 748 ms 272236 KB Output is correct
35 Correct 800 ms 277120 KB Output is correct
36 Correct 799 ms 276932 KB Output is correct
37 Correct 603 ms 269256 KB Output is correct
38 Correct 608 ms 269056 KB Output is correct
39 Correct 515 ms 268968 KB Output is correct
40 Correct 521 ms 268616 KB Output is correct
41 Correct 641 ms 273484 KB Output is correct
42 Correct 629 ms 273328 KB Output is correct
43 Correct 141 ms 256508 KB Output is correct
44 Correct 636 ms 273408 KB Output is correct
45 Correct 616 ms 273320 KB Output is correct
46 Correct 581 ms 273252 KB Output is correct
47 Correct 406 ms 272828 KB Output is correct
48 Correct 409 ms 272628 KB Output is correct
49 Correct 450 ms 272816 KB Output is correct
50 Correct 479 ms 273416 KB Output is correct
51 Correct 470 ms 272700 KB Output is correct
52 Correct 667 ms 288824 KB Output is correct
53 Correct 609 ms 281864 KB Output is correct
54 Correct 750 ms 282572 KB Output is correct
55 Correct 652 ms 279156 KB Output is correct
56 Correct 631 ms 281540 KB Output is correct
57 Correct 658 ms 275624 KB Output is correct
58 Correct 664 ms 278452 KB Output is correct
59 Correct 651 ms 281068 KB Output is correct
60 Correct 683 ms 274704 KB Output is correct
61 Correct 267 ms 277348 KB Output is correct
62 Correct 640 ms 288856 KB Output is correct
63 Correct 728 ms 283252 KB Output is correct
64 Correct 746 ms 280552 KB Output is correct
65 Correct 756 ms 276204 KB Output is correct
66 Correct 695 ms 274440 KB Output is correct
67 Correct 392 ms 263916 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 99 ms 249168 KB Output is correct
2 Correct 108 ms 249252 KB Output is correct
3 Correct 100 ms 249192 KB Output is correct
4 Correct 97 ms 249244 KB Output is correct
5 Correct 99 ms 249236 KB Output is correct
6 Correct 102 ms 249364 KB Output is correct
7 Correct 104 ms 249548 KB Output is correct
8 Correct 102 ms 249480 KB Output is correct
9 Correct 99 ms 249524 KB Output is correct
10 Correct 100 ms 249388 KB Output is correct
11 Correct 99 ms 249392 KB Output is correct
12 Correct 102 ms 249416 KB Output is correct
13 Correct 100 ms 249440 KB Output is correct
14 Correct 99 ms 249332 KB Output is correct
15 Correct 101 ms 249456 KB Output is correct
16 Correct 103 ms 249360 KB Output is correct
17 Correct 101 ms 249452 KB Output is correct
18 Correct 100 ms 249468 KB Output is correct
19 Correct 103 ms 249436 KB Output is correct
20 Correct 102 ms 249420 KB Output is correct
21 Correct 99 ms 249448 KB Output is correct
22 Correct 100 ms 249420 KB Output is correct
23 Correct 100 ms 249400 KB Output is correct
24 Correct 103 ms 249452 KB Output is correct
25 Correct 111 ms 249364 KB Output is correct
26 Correct 103 ms 249420 KB Output is correct
27 Correct 104 ms 249316 KB Output is correct
28 Correct 103 ms 249412 KB Output is correct
29 Correct 102 ms 249336 KB Output is correct
30 Correct 100 ms 249396 KB Output is correct
31 Correct 832 ms 277072 KB Output is correct
32 Correct 166 ms 255888 KB Output is correct
33 Correct 731 ms 271556 KB Output is correct
34 Correct 748 ms 272236 KB Output is correct
35 Correct 800 ms 277120 KB Output is correct
36 Correct 799 ms 276932 KB Output is correct
37 Correct 603 ms 269256 KB Output is correct
38 Correct 608 ms 269056 KB Output is correct
39 Correct 515 ms 268968 KB Output is correct
40 Correct 521 ms 268616 KB Output is correct
41 Correct 641 ms 273484 KB Output is correct
42 Correct 629 ms 273328 KB Output is correct
43 Correct 141 ms 256508 KB Output is correct
44 Correct 636 ms 273408 KB Output is correct
45 Correct 616 ms 273320 KB Output is correct
46 Correct 581 ms 273252 KB Output is correct
47 Correct 406 ms 272828 KB Output is correct
48 Correct 409 ms 272628 KB Output is correct
49 Correct 450 ms 272816 KB Output is correct
50 Correct 479 ms 273416 KB Output is correct
51 Correct 470 ms 272700 KB Output is correct
52 Runtime error 1146 ms 729076 KB Execution killed with signal 11
53 Halted 0 ms 0 KB -