답안 #626675

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
626675 2022-08-11T15:54:57 Z tlwpdus 송신탑 (IOI22_towers) C++17
44 / 100
4000 ms 811168 KB
#include "towers.h"

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;

const int INF = 0x3f3f3f3f;

struct PersSeg {
    vector<int> tree;
    vector<int> le;
    vector<int> ri;
    vector<int> roots;
    int n;
    int _init(int s, int e) {
        if (s==e) {
            int p =tree.size();
            tree.push_back(0);
            le.push_back(-1);
            ri.push_back(-1);
            return p;
        }
        int m = (s+e)/2;
        int l = _init(s,m);
        int r = _init(m+1,e);
        int p =tree.size();
        tree.push_back(0);
        le.push_back(l);
        ri.push_back(r);
        return p;
    }
    void init(int _n) {
        n = _n;
        if (n==0) return;
        roots.push_back(_init(0,n-1));
    }
    int upd(int idx, int val, int s, int e, int ori) {
        if (idx<s||e<idx) {
            return ori;
        }
        if (s==e) {
            int p = tree.size();
            tree.push_back(tree[ori]+val);
            le.push_back(-1);
            ri.push_back(-1);
            return p;
        }
        int m =(s+e)/2;
        int l = upd(idx,val,s,m,le[ori]);
        int r = upd(idx,val,m+1,e,ri[ori]);
        int p = tree.size();
        tree.push_back(tree[ori]+val);
        le.push_back(l);
        ri.push_back(r);
        return p;
    }
    void upd(int idx, int val) {
        if (n==0) return;
        int root = upd(idx, val, 0, n-1, roots.back());
        roots.push_back(root);
    }
    int getv(int S, int E, int s, int e, int ori) {
        if (e<S||E<s) return 0;
        if (S<=s&&e<=E) return tree[ori];
        int m = (s+e)/2;
        return getv(S,E,s,m,le[ori])+getv(S,E,m+1,e,ri[ori]);
    }
    int getv(int S, int E, int ori) {
        return getv(S,E,0,n-1,ori);
    }
};

struct Seg {
    vector<pii> tree[270000]; // v, r
    vector<int> comp[270000]; // r
    vector<int> rootnum[270000];
    PersSeg per[270000];
    const int key = 131072;
    void upd(int idx, pii p) {
        idx += key;
        while(idx) {
            tree[idx].push_back(p);
            idx/=2;
        }
    }
    void calc() {
        for (int i=1;i<key*2;i++) {
//            printf("%d!\n",i);
            sort(tree[i].begin(),tree[i].end());
            for (pii &p : tree[i]) {
                comp[i].push_back(p.second);
            }
            sort(comp[i].begin(),comp[i].end());
            comp[i].erase(unique(comp[i].begin(),comp[i].end()),comp[i].end());
            per[i].init(tree[i].size());
            rootnum[i].assign(tree[i].size(),0);
            for (int j=(int)tree[i].size()-1;j>=0;j--) {
                int r = lower_bound(comp[i].begin(),comp[i].end(),tree[i][j].second)-comp[i].begin();
                per[i].upd(r,1);
                rootnum[i][j] = per[i].roots.back();
            }
        }
    }
    int _getv(int i, int d, int rs, int re) {
        int t =lower_bound(tree[i].begin(),tree[i].end(),pii(d,-1))-tree[i].begin();
//        for (pii &p : tree[i]) {
//            printf("(%d, %d) ",p.first,p.second);
//        }
//        printf("%d!\n",d);
        if (t==tree[i].size()) return 0;
        rs = lower_bound(comp[i].begin(),comp[i].end(),rs)-comp[i].begin();
        re = upper_bound(comp[i].begin(),comp[i].end(),re)-comp[i].begin()-1;
        return per[i].getv(rs,re,rootnum[i][t]);
    }
    int getv(int s, int e, int d, int rs, int re) {
        s += key; e += key;
        int ans = 0;
        while(s<=e) {
            if (s&1) {
                ans += _getv(s,d,rs,re);
            }
            if (~e&1) {
                ans += _getv(e,d,rs,re);
            }
            s = (s+1)/2;
            e = (e-1)/2;
        }
        return ans;
    }
} itr, itl;

struct Idxtree {
    int tree[270000];
    const int key = 131072;
    void init() {
        memset(tree,0x3f,sizeof(tree));
    }
    void upd(int idx, int val) {
        idx += key;
        while(idx) {
            tree[idx] = min(tree[idx],val);
            idx/=2;
        }
    }
    int getv(int s, int e) {
        s += key;
        e += key;
        int ans = INF;
        while(s<=e) {
            if (s&1) ans = min(ans,tree[s]);
            if (~e&1) ans = min(ans,tree[e]);
            s = (s+1)/2;
            e = (e-1)/2;
        }
        return ans;
    }
} ith;

struct MIdxtree {
    int tree[270000];
    const int key = 131072;
    void init() {
        memset(tree,0,sizeof(tree));
    }
    void upd(int idx, int val) {
        idx += key;
        while(idx) {
            tree[idx] = max(tree[idx],val);
            idx/=2;
        }
    }
    int getv(int s, int e) {
        s += key;
        e += key;
        int ans = 0;
        while(s<=e) {
            if (s&1) ans = max(ans,tree[s]);
            if (~e&1) ans = max(ans,tree[e]);
            s = (s+1)/2;
            e = (e-1)/2;
        }
        return ans;
    }
} ithm;

int N;
vector<int> H;
int pr[100100], pl[100100];
int l[100100], r[100100];
map<int,int> loc;

void init(int _N, vector<int> _H) {
    N = _N;
    H = _H;
    ith.init();
    ithm.init();
    for (int i=0;i<N;i++) {
        ith.upd(i,H[i]);
        ithm.upd(i,H[i]);
        loc[H[i]] = i;
    }
    vector<int> st;
    for (int i=0;i<=N;i++) {
        int h = (i==N?INF:H[i]);
        while(!st.empty()&&H[st.back()]<h) {
            pr[st.back()] = i;
//            printf("(%d, %d): %d\n",st.back(),i-1,ith.getv(st.back(),i-1));
            r[st.back()] = H[st.back()] - ith.getv(st.back(),i-1);
            st.pop_back();
        }
        st.push_back(i);
    }
    st.clear();
    for (int i=N-1;i>=-1;i--) {
        int h = (i==-1?INF:H[i]);
        while(!st.empty()&&H[st.back()]<h) {
            pl[st.back()] = i;
            l[st.back()] = H[st.back()] - ith.getv(i+1, st.back());
            st.pop_back();
        }
        st.push_back(i);
    }
    for (int i=0;i<N;i++) {
//        printf("%d: %d, %d, %d\n",i,min(l[i],r[i]),pl[i],pr[i]);
        itr.upd(i, {min(l[i],r[i]), pr[i]});
        itl.upd(i, {min(l[i],r[i]),pl[i]});
    }
    itl.calc();
    itr.calc();
}

int max_towers(int L, int R, int D) {
//    printf("%d, %d, %d\n",L,R,D);
    int ans = itr.getv(L, R, D, 0, N)+1;
    int maxih = ithm.getv(L,R);
    int m = loc[maxih];
    int minih = ith.getv(L,R);
    if (maxih-minih<D) return 1;
    {
        int s = m, e = R;
        while(s<=e) {
            int mid = (s+e)/2;
            if (ithm.getv(mid,R)-ith.getv(mid,R)>=D) s = mid+1;
            else e = mid-1;
        }
        ans -= itr.getv(s,R,D,R+1,N);
    }
    {
        int s = L, e = m;
        while(s<=e) {
            int mid = (s+e)/2;
            if (ithm.getv(L,mid)-ith.getv(L,mid)>=D) e = mid-1;
            else s = mid+1;
        }
        ans -= itl.getv(L,e,D,-1,L-1);
    }

    return ans;
}

Compilation message

towers.cpp: In member function 'int Seg::_getv(int, int, int, int)':
towers.cpp:114:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  114 |         if (t==tree[i].size()) return 0;
      |             ~^~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1509 ms 521992 KB Output is correct
2 Correct 2854 ms 810940 KB Output is correct
3 Correct 2623 ms 810912 KB Output is correct
4 Correct 2816 ms 811028 KB Output is correct
5 Correct 2806 ms 810968 KB Output is correct
6 Correct 2945 ms 810960 KB Output is correct
7 Correct 3162 ms 811168 KB Output is correct
8 Correct 53 ms 95420 KB Output is correct
9 Correct 95 ms 108524 KB Output is correct
10 Correct 84 ms 108468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 98280 KB Output is correct
2 Correct 85 ms 108612 KB Output is correct
3 Correct 87 ms 108560 KB Output is correct
4 Correct 90 ms 108564 KB Output is correct
5 Correct 84 ms 108464 KB Output is correct
6 Correct 82 ms 108528 KB Output is correct
7 Correct 86 ms 108520 KB Output is correct
8 Correct 81 ms 108432 KB Output is correct
9 Correct 80 ms 108524 KB Output is correct
10 Correct 86 ms 108548 KB Output is correct
11 Correct 85 ms 108528 KB Output is correct
12 Correct 54 ms 95412 KB Output is correct
13 Correct 80 ms 108428 KB Output is correct
14 Correct 79 ms 108532 KB Output is correct
15 Correct 87 ms 108472 KB Output is correct
16 Correct 95 ms 108456 KB Output is correct
17 Correct 89 ms 108484 KB Output is correct
18 Correct 80 ms 108524 KB Output is correct
19 Correct 80 ms 108564 KB Output is correct
20 Correct 88 ms 108576 KB Output is correct
21 Correct 91 ms 108560 KB Output is correct
22 Correct 86 ms 108504 KB Output is correct
23 Correct 79 ms 108528 KB Output is correct
24 Correct 80 ms 108492 KB Output is correct
25 Correct 71 ms 101388 KB Output is correct
26 Correct 89 ms 108476 KB Output is correct
27 Correct 88 ms 108656 KB Output is correct
28 Correct 92 ms 108536 KB Output is correct
29 Correct 86 ms 108528 KB Output is correct
30 Correct 85 ms 108480 KB Output is correct
31 Correct 85 ms 108564 KB Output is correct
32 Correct 82 ms 108428 KB Output is correct
33 Correct 83 ms 108540 KB Output is correct
34 Correct 80 ms 108484 KB Output is correct
35 Correct 91 ms 108508 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 98280 KB Output is correct
2 Correct 85 ms 108612 KB Output is correct
3 Correct 87 ms 108560 KB Output is correct
4 Correct 90 ms 108564 KB Output is correct
5 Correct 84 ms 108464 KB Output is correct
6 Correct 82 ms 108528 KB Output is correct
7 Correct 86 ms 108520 KB Output is correct
8 Correct 81 ms 108432 KB Output is correct
9 Correct 80 ms 108524 KB Output is correct
10 Correct 86 ms 108548 KB Output is correct
11 Correct 85 ms 108528 KB Output is correct
12 Correct 54 ms 95412 KB Output is correct
13 Correct 80 ms 108428 KB Output is correct
14 Correct 79 ms 108532 KB Output is correct
15 Correct 87 ms 108472 KB Output is correct
16 Correct 95 ms 108456 KB Output is correct
17 Correct 89 ms 108484 KB Output is correct
18 Correct 80 ms 108524 KB Output is correct
19 Correct 80 ms 108564 KB Output is correct
20 Correct 88 ms 108576 KB Output is correct
21 Correct 91 ms 108560 KB Output is correct
22 Correct 86 ms 108504 KB Output is correct
23 Correct 79 ms 108528 KB Output is correct
24 Correct 80 ms 108492 KB Output is correct
25 Correct 71 ms 101388 KB Output is correct
26 Correct 89 ms 108476 KB Output is correct
27 Correct 88 ms 108656 KB Output is correct
28 Correct 92 ms 108536 KB Output is correct
29 Correct 86 ms 108528 KB Output is correct
30 Correct 85 ms 108480 KB Output is correct
31 Correct 85 ms 108564 KB Output is correct
32 Correct 82 ms 108428 KB Output is correct
33 Correct 83 ms 108540 KB Output is correct
34 Correct 80 ms 108484 KB Output is correct
35 Correct 91 ms 108508 KB Output is correct
36 Correct 1223 ms 559908 KB Output is correct
37 Correct 1799 ms 810016 KB Output is correct
38 Correct 1803 ms 810108 KB Output is correct
39 Correct 1858 ms 810080 KB Output is correct
40 Correct 1842 ms 810052 KB Output is correct
41 Correct 1881 ms 809952 KB Output is correct
42 Correct 1824 ms 810004 KB Output is correct
43 Correct 1469 ms 811060 KB Output is correct
44 Correct 1458 ms 810964 KB Output is correct
45 Correct 1487 ms 810988 KB Output is correct
46 Correct 1491 ms 810956 KB Output is correct
47 Correct 1808 ms 809912 KB Output is correct
48 Correct 1823 ms 810232 KB Output is correct
49 Correct 1838 ms 810148 KB Output is correct
50 Correct 1644 ms 810992 KB Output is correct
51 Correct 1527 ms 811048 KB Output is correct
52 Correct 1836 ms 810072 KB Output is correct
53 Correct 1820 ms 809928 KB Output is correct
54 Correct 1818 ms 809968 KB Output is correct
55 Correct 1450 ms 811036 KB Output is correct
56 Correct 1466 ms 810900 KB Output is correct
57 Correct 1726 ms 783692 KB Output is correct
58 Correct 1834 ms 809960 KB Output is correct
59 Correct 1799 ms 810052 KB Output is correct
60 Correct 1803 ms 810028 KB Output is correct
61 Correct 1865 ms 809912 KB Output is correct
62 Correct 1828 ms 810004 KB Output is correct
63 Correct 1833 ms 810116 KB Output is correct
64 Correct 1507 ms 810908 KB Output is correct
65 Correct 1510 ms 810968 KB Output is correct
66 Correct 1510 ms 811000 KB Output is correct
67 Correct 1538 ms 810748 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3268 ms 807040 KB Output is correct
2 Correct 3667 ms 809984 KB Output is correct
3 Execution timed out 4043 ms 809940 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 831 ms 260916 KB Output is correct
2 Correct 3014 ms 809940 KB Output is correct
3 Correct 2918 ms 810008 KB Output is correct
4 Correct 2913 ms 810168 KB Output is correct
5 Correct 3201 ms 809904 KB Output is correct
6 Correct 3137 ms 810032 KB Output is correct
7 Correct 3055 ms 810120 KB Output is correct
8 Correct 2792 ms 811040 KB Output is correct
9 Correct 2746 ms 811116 KB Output is correct
10 Correct 2715 ms 811040 KB Output is correct
11 Correct 2477 ms 810900 KB Output is correct
12 Correct 1743 ms 810088 KB Output is correct
13 Correct 1788 ms 809920 KB Output is correct
14 Correct 1753 ms 810252 KB Output is correct
15 Correct 1437 ms 810976 KB Output is correct
16 Correct 1740 ms 811020 KB Output is correct
17 Correct 1807 ms 783620 KB Output is correct
18 Correct 1905 ms 810140 KB Output is correct
19 Correct 1813 ms 810056 KB Output is correct
20 Correct 1776 ms 809996 KB Output is correct
21 Correct 1772 ms 809952 KB Output is correct
22 Correct 1804 ms 810148 KB Output is correct
23 Correct 1765 ms 810108 KB Output is correct
24 Correct 1451 ms 811148 KB Output is correct
25 Correct 1437 ms 811092 KB Output is correct
26 Correct 1447 ms 810776 KB Output is correct
27 Correct 1465 ms 810872 KB Output is correct
28 Correct 83 ms 108652 KB Output is correct
29 Correct 88 ms 108520 KB Output is correct
30 Correct 84 ms 108528 KB Output is correct
31 Correct 81 ms 108428 KB Output is correct
32 Correct 81 ms 108448 KB Output is correct
33 Correct 69 ms 101300 KB Output is correct
34 Correct 99 ms 108488 KB Output is correct
35 Correct 84 ms 108520 KB Output is correct
36 Correct 84 ms 108520 KB Output is correct
37 Correct 86 ms 108448 KB Output is correct
38 Correct 83 ms 108576 KB Output is correct
39 Correct 96 ms 108628 KB Output is correct
40 Correct 86 ms 108544 KB Output is correct
41 Correct 79 ms 108564 KB Output is correct
42 Correct 85 ms 108524 KB Output is correct
43 Correct 80 ms 108536 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 98280 KB Output is correct
2 Correct 85 ms 108612 KB Output is correct
3 Correct 87 ms 108560 KB Output is correct
4 Correct 90 ms 108564 KB Output is correct
5 Correct 84 ms 108464 KB Output is correct
6 Correct 82 ms 108528 KB Output is correct
7 Correct 86 ms 108520 KB Output is correct
8 Correct 81 ms 108432 KB Output is correct
9 Correct 80 ms 108524 KB Output is correct
10 Correct 86 ms 108548 KB Output is correct
11 Correct 85 ms 108528 KB Output is correct
12 Correct 54 ms 95412 KB Output is correct
13 Correct 80 ms 108428 KB Output is correct
14 Correct 79 ms 108532 KB Output is correct
15 Correct 87 ms 108472 KB Output is correct
16 Correct 95 ms 108456 KB Output is correct
17 Correct 89 ms 108484 KB Output is correct
18 Correct 80 ms 108524 KB Output is correct
19 Correct 80 ms 108564 KB Output is correct
20 Correct 88 ms 108576 KB Output is correct
21 Correct 91 ms 108560 KB Output is correct
22 Correct 86 ms 108504 KB Output is correct
23 Correct 79 ms 108528 KB Output is correct
24 Correct 80 ms 108492 KB Output is correct
25 Correct 71 ms 101388 KB Output is correct
26 Correct 89 ms 108476 KB Output is correct
27 Correct 88 ms 108656 KB Output is correct
28 Correct 92 ms 108536 KB Output is correct
29 Correct 86 ms 108528 KB Output is correct
30 Correct 85 ms 108480 KB Output is correct
31 Correct 85 ms 108564 KB Output is correct
32 Correct 82 ms 108428 KB Output is correct
33 Correct 83 ms 108540 KB Output is correct
34 Correct 80 ms 108484 KB Output is correct
35 Correct 91 ms 108508 KB Output is correct
36 Correct 1223 ms 559908 KB Output is correct
37 Correct 1799 ms 810016 KB Output is correct
38 Correct 1803 ms 810108 KB Output is correct
39 Correct 1858 ms 810080 KB Output is correct
40 Correct 1842 ms 810052 KB Output is correct
41 Correct 1881 ms 809952 KB Output is correct
42 Correct 1824 ms 810004 KB Output is correct
43 Correct 1469 ms 811060 KB Output is correct
44 Correct 1458 ms 810964 KB Output is correct
45 Correct 1487 ms 810988 KB Output is correct
46 Correct 1491 ms 810956 KB Output is correct
47 Correct 1808 ms 809912 KB Output is correct
48 Correct 1823 ms 810232 KB Output is correct
49 Correct 1838 ms 810148 KB Output is correct
50 Correct 1644 ms 810992 KB Output is correct
51 Correct 1527 ms 811048 KB Output is correct
52 Correct 1836 ms 810072 KB Output is correct
53 Correct 1820 ms 809928 KB Output is correct
54 Correct 1818 ms 809968 KB Output is correct
55 Correct 1450 ms 811036 KB Output is correct
56 Correct 1466 ms 810900 KB Output is correct
57 Correct 1726 ms 783692 KB Output is correct
58 Correct 1834 ms 809960 KB Output is correct
59 Correct 1799 ms 810052 KB Output is correct
60 Correct 1803 ms 810028 KB Output is correct
61 Correct 1865 ms 809912 KB Output is correct
62 Correct 1828 ms 810004 KB Output is correct
63 Correct 1833 ms 810116 KB Output is correct
64 Correct 1507 ms 810908 KB Output is correct
65 Correct 1510 ms 810968 KB Output is correct
66 Correct 1510 ms 811000 KB Output is correct
67 Correct 1538 ms 810748 KB Output is correct
68 Correct 3268 ms 807040 KB Output is correct
69 Correct 3667 ms 809984 KB Output is correct
70 Execution timed out 4043 ms 809940 KB Time limit exceeded
71 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1509 ms 521992 KB Output is correct
2 Correct 2854 ms 810940 KB Output is correct
3 Correct 2623 ms 810912 KB Output is correct
4 Correct 2816 ms 811028 KB Output is correct
5 Correct 2806 ms 810968 KB Output is correct
6 Correct 2945 ms 810960 KB Output is correct
7 Correct 3162 ms 811168 KB Output is correct
8 Correct 53 ms 95420 KB Output is correct
9 Correct 95 ms 108524 KB Output is correct
10 Correct 84 ms 108468 KB Output is correct
11 Correct 60 ms 98280 KB Output is correct
12 Correct 85 ms 108612 KB Output is correct
13 Correct 87 ms 108560 KB Output is correct
14 Correct 90 ms 108564 KB Output is correct
15 Correct 84 ms 108464 KB Output is correct
16 Correct 82 ms 108528 KB Output is correct
17 Correct 86 ms 108520 KB Output is correct
18 Correct 81 ms 108432 KB Output is correct
19 Correct 80 ms 108524 KB Output is correct
20 Correct 86 ms 108548 KB Output is correct
21 Correct 85 ms 108528 KB Output is correct
22 Correct 54 ms 95412 KB Output is correct
23 Correct 80 ms 108428 KB Output is correct
24 Correct 79 ms 108532 KB Output is correct
25 Correct 87 ms 108472 KB Output is correct
26 Correct 95 ms 108456 KB Output is correct
27 Correct 89 ms 108484 KB Output is correct
28 Correct 80 ms 108524 KB Output is correct
29 Correct 80 ms 108564 KB Output is correct
30 Correct 88 ms 108576 KB Output is correct
31 Correct 91 ms 108560 KB Output is correct
32 Correct 86 ms 108504 KB Output is correct
33 Correct 79 ms 108528 KB Output is correct
34 Correct 80 ms 108492 KB Output is correct
35 Correct 71 ms 101388 KB Output is correct
36 Correct 89 ms 108476 KB Output is correct
37 Correct 88 ms 108656 KB Output is correct
38 Correct 92 ms 108536 KB Output is correct
39 Correct 86 ms 108528 KB Output is correct
40 Correct 85 ms 108480 KB Output is correct
41 Correct 85 ms 108564 KB Output is correct
42 Correct 82 ms 108428 KB Output is correct
43 Correct 83 ms 108540 KB Output is correct
44 Correct 80 ms 108484 KB Output is correct
45 Correct 91 ms 108508 KB Output is correct
46 Correct 1223 ms 559908 KB Output is correct
47 Correct 1799 ms 810016 KB Output is correct
48 Correct 1803 ms 810108 KB Output is correct
49 Correct 1858 ms 810080 KB Output is correct
50 Correct 1842 ms 810052 KB Output is correct
51 Correct 1881 ms 809952 KB Output is correct
52 Correct 1824 ms 810004 KB Output is correct
53 Correct 1469 ms 811060 KB Output is correct
54 Correct 1458 ms 810964 KB Output is correct
55 Correct 1487 ms 810988 KB Output is correct
56 Correct 1491 ms 810956 KB Output is correct
57 Correct 1808 ms 809912 KB Output is correct
58 Correct 1823 ms 810232 KB Output is correct
59 Correct 1838 ms 810148 KB Output is correct
60 Correct 1644 ms 810992 KB Output is correct
61 Correct 1527 ms 811048 KB Output is correct
62 Correct 1836 ms 810072 KB Output is correct
63 Correct 1820 ms 809928 KB Output is correct
64 Correct 1818 ms 809968 KB Output is correct
65 Correct 1450 ms 811036 KB Output is correct
66 Correct 1466 ms 810900 KB Output is correct
67 Correct 1726 ms 783692 KB Output is correct
68 Correct 1834 ms 809960 KB Output is correct
69 Correct 1799 ms 810052 KB Output is correct
70 Correct 1803 ms 810028 KB Output is correct
71 Correct 1865 ms 809912 KB Output is correct
72 Correct 1828 ms 810004 KB Output is correct
73 Correct 1833 ms 810116 KB Output is correct
74 Correct 1507 ms 810908 KB Output is correct
75 Correct 1510 ms 810968 KB Output is correct
76 Correct 1510 ms 811000 KB Output is correct
77 Correct 1538 ms 810748 KB Output is correct
78 Correct 3268 ms 807040 KB Output is correct
79 Correct 3667 ms 809984 KB Output is correct
80 Execution timed out 4043 ms 809940 KB Time limit exceeded
81 Halted 0 ms 0 KB -