Submission #401789

# Submission time Handle Problem Language Result Execution time Memory
401789 2021-05-10T20:10:21 Z b00n0rp The short shank; Redemption (BOI21_prison) C++17
100 / 100
1748 ms 333388 KB
// --------------------------------------------------<TEMPLATE>--------------------------------------------------
// --------------------<optimizations>--------------------
/*
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx,avx2,fma")
*/ 
// -------------------</optimizations>--------------------
 
// ---------------<Headers and namespaces>----------------
#include <bits/stdc++.h>
using namespace std;
 
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
*/
 
// ---------------</Headers and namespaces>---------------
 
// -----------------<Defines and typedefs>----------------
// typedef tree<int,null_type,less<int>,rb_tree_tag, 
// tree_order_statistics_node_update> indexed_set; // use less_equal for multiset
// order_of_key (val): returns the no. of values less than val
// find_by_order (k): returns the iterator to kth largest element.(0-based)
 
typedef long double LD;
typedef long long ll;
// #define int ll
#define pb push_back
#define mp make_pair
#define REP(i,n) for (int i = 0; i < n; i++)
#define FOR(i,a,b) for (int i = a; i < b; i++)
#define REPD(i,n) for (int i = n-1; i >= 0; i--)
#define FORD(i,a,b) for (int i = a; i >= b; i--)
#define remax(a,b) a = max(a,b)
#define remin(a,b) a = min(a,b)
#define all(v) v.begin(),v.end()
typedef map<int,int> mii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> pii;
typedef vector<pii> vpii;
#define F first
#define S second
#define PQ(type) priority_queue<type>
#define PQD(type) priority_queue<type,vector<type>,greater<type> >
#define WL(t) while(t --)
#define SZ(x) ((int)(x).size())
#define runtime() ((double)clock() / CLOCKS_PER_SEC)
#define inrange(i,a,b) ((i>=min(a,b)) && (i<=max(a,b)))
 
/*
// -----<SCANF>-----
#define sfi(x) scanf("%d",&x);
#define sfi2(x,y) scanf("%d%d",&x,&y);
#define sfi3(x,y,z) scanf("%d%d%d",&x,&y,&z);
 
#define sfl(x) scanf("%lld",&x);
#define sfl2(x,y) scanf("%lld%lld",&x,&y);
#define sfl3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z);
#define sfl4(x,y,z,x1) scanf("%lld%lld%lld%lld",&x,&y,&z,&x1);
#define sfl5(x,y,z,x1,y1) scanf("%lld%lld%lld%lld%lld",&x,&y,&z,&x1,&y1);
#define sfl6(x,y,z,x1,y1,z1) scanf("%lld%lld%lld%lld%lld%lld",&x,&y,&z,&x1,&y1,&z1);
 
#define sfs(x) scanf("%s",x);
#define sfs2(x,y) scanf("%s%s",x,y);
#define sfs3(x,y,z) scanf("%s%s%s",x,y,z);
// ----</SCANF>-----
 
// ----<PRINTF>-----
#define pfi(x) printf("%d\n",x);
#define pfi2(x,y) printf("%d %d\n",x,y);
#define pfi3(x,y,z) printf("%d %d %d\n",x,y,z);
 
#define pfl(x) printf("%lld\n",x);
#define pfl2(x,y) printf("%lld %lld\n",x,y);
#define pfl3(x,y,z) printf("%lld %lld %lld\n",x,y,z);
 
#define pfs(x) printf("%s\n",x);
#define pfs2(x,y) printf("%s %s\n",x,y);
#define pfs3(x,y,z) printf("%s %s %s\n",x,y,z);
 
#define pwe(x) printf("%lld ",x); // print without end
// ----</PRINTF>----
*/
#define FLSH fflush(stdout)
#define fileIO(name) \
    freopen(name".in", "r", stdin); \
    freopen(name".out", "w", stdout);
#define PRECISION(x) cout << fixed << setprecision(x); 
#define FAST_IO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
 
// ----------------</Defines and typedefs>----------------
 
// -------------------<Debugging stuff>-------------------
#ifdef TRACE
#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1){
    cout << name << " : " << arg1 << std::endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args){
    const char* comma = strchr(names + 1, ',');cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...);
}
#else
#define trace(...)
#endif
 
// ------------------</Debugging stuff>-------------------
 
// ------------------------<Consts>-----------------------
const int MAXN = 2000005;
const int SQRTN = 1003;
const int LOGN = 22;
const double PI=acos(-1);
 
#ifdef int
const int INF=1e16;
#else
const int INF=1e9;
#endif
 
const int MOD = 1000000007;
const int FMOD = 998244353;
const double eps = 1e-9;
// -----------------------</Consts>-----------------------
/*
// -------------------------<RNG>-------------------------
mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count()); 
#define SHUF(v) shuffle(all(v), RNG);
// Use mt19937_64 for 64 bit random numbers.
 
// ------------------------</RNG>-------------------------
 
// ----------------------<MATH>---------------------------
template<typename T> T gcd(T a, T b){return(b?__gcd(a,b):a);}
template<typename T> T lcm(T a, T b){return(a*(b/gcd(a,b)));}
int add(int a, int b, int c = MOD){int res=a+b;return(res>=c?res-c:res);}
int mod_neg(int a, int b, int c = MOD){int res;if(abs(a-b)<c)res=a-b;else res=(a-b)%c;return(res<0?res+c:res);}
int mul(int a, int b, int c = MOD){ll res=(ll)a*b;return(res>=c?res%c:res);}
int muln(int a, int b, int c = MOD){ll res=(ll)a*b;return ((res%c)+c)%c;}
ll mulmod(ll a,ll b, ll m = MOD){ll q = (ll)(((LD)a*(LD)b)/(LD)m);ll r=a*b-q*m;if(r>m)r%=m;if(r<0)r+=m;return r;}
template<typename T>T expo(T e, T n){T x=1,p=e;while(n){if(n&1)x=x*p;p=p*p;n>>=1;}return x;}
template<typename T>T power(T e, T n, T m = MOD){T x=1,p=e;while(n){if(n&1)x=mul(x,p,m);p=mul(p,p,m);n>>=1;}return x;}
template<typename T>T extended_euclid(T a, T b, T &x, T &y){T xx=0,yy=1;y=0;x=1;while(b){T q=a/b,t=b;b=a%b;a=t;\
t=xx;xx=x-q*xx;x=t;t=yy;yy=y-q*yy;y=t;}return a;}
template<typename T>T mod_inverse(T a, T n = MOD){T x,y,z=0;T d=extended_euclid(a,n,x,y);return(d>1?-1:mod_neg(x,z,n));}
 
const int FACSZ = 1; // Make sure to change this
 
int fact[FACSZ],ifact[FACSZ];
 
void precom(int c = MOD){
    fact[0] = 1;
    FOR(i,1,FACSZ) fact[i] = mul(fact[i-1],i,c);
    ifact[FACSZ-1] = mod_inverse(fact[FACSZ-1],c);
    REPD(i,FACSZ-1){
        ifact[i] = mul(i+1,ifact[i+1],c);
    }
}
 
int ncr(int n,int r,int c = MOD){
    return mul(mul(ifact[r],ifact[n-r],c),fact[n],c);
} 
*/
// ----------------------</MATH>--------------------------
// --------------------------------------------------</TEMPLATE>--------------------------------------------------
 
void solvethetestcase();
 
signed main(){
    // comment when using scanf,printf
    FAST_IO
    int t = 1;
    // (UNCOMMENT FOR MULTIPLE TEST CASES)
    // cin >> t;
    FOR(testcase,1,t+1){
        // (UNCOMMENT FOR CODEJAM)
        // printf("Case #%lld: ",testcase); 
        solvethetestcase();
    }
}   
 
int n,d,t;
int a[MAXN],low[MAXN];
int rem[MAXN];
vi gg[2*MAXN];
 
int seg[4*MAXN];
int lazy[4*MAXN];
int pref[MAXN];

void build(int node,int l,int r){
    if(l == r){
        seg[node] = pref[l];
        return;
    }
    int mid = (l+r)/2;
    build(2*node,l,mid);
    build(2*node+1,mid+1,r);
    seg[node] = max(seg[2*node],seg[2*node+1]);
}

void update(int node,int l,int r,int x,int y){
    if(lazy[node]){
        seg[node] += lazy[node];
        if(l != r){
            lazy[2*node] += lazy[node];
            lazy[2*node+1] += lazy[node];
        }
        lazy[node] = 0;
    }
    if(x > r or l > y) return;
    if(l >= x and r <= y){
        seg[node]--;
        if(l != r){
            lazy[2*node]--;
            lazy[2*node+1]--;
        }
        return;
    }
    int mid = (l+r)/2;
    update(node*2,l,mid,x,y);
    update(node*2+1,mid+1,r,x,y);
    seg[node] = max(seg[2*node],seg[2*node+1]);
}
 
int query(int node,int l,int r){
    if(l == r) return l;
    int mid = (l+r)/2;
    if(seg[node*2] > seg[node*2+1]) return query(node*2,l,mid);
    return query(node*2+1,mid+1,r);
}
 
void solvethetestcase(){
    cin >> n >> d >> t;
    FOR(i,1,n+1){
        cin >> a[i];
        rem[i] = 0;
    }
    stack<int> st;
    int ans = 0;
    FOR(i,1,n+1){
        while(st.size() and a[st.top()]+i-st.top() > t) st.pop();
 
        if(a[i] <= t or st.empty()){
            low[i] = -1;
            if(a[i] <= t) ans++;
        }
        else{
            ans++;
            low[i] = st.top();
            int l = low[i]+n,r = i+n;
            while(l < r){
                if(l&1){
                    gg[l++].pb(i);
                }
                if(r&1){
                    gg[--r].pb(i);
                }
                l >>= 1;
                r >>= 1;
            }
            pref[low[i]]++;
            pref[i]--;
        }
        if(a[i] < t){
            while(st.size() and a[st.top()]-st.top() >= a[i]-i) st.pop();
            st.push(i);
        }
    }
    FOR(i,1,n+1) pref[i] += pref[i-1];
    build(1,1,n);
    REP(i,d){
        int ind = query(1,1,n);
        ind += n;
        while(ind){
            for(auto x:gg[ind]){
                if(!rem[x]){
                    rem[x] = 1;
                    ans--;
                    update(1,1,n,low[x],x-1);
                }
            }
            gg[ind].clear();
            ind >>= 1;
        }
    }
    cout << ans << "\n";
    // cout << runtime() << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 55 ms 94148 KB Output is correct
2 Correct 49 ms 94268 KB Output is correct
3 Correct 55 ms 94284 KB Output is correct
4 Correct 49 ms 94240 KB Output is correct
5 Correct 48 ms 94276 KB Output is correct
6 Correct 49 ms 94284 KB Output is correct
7 Correct 51 ms 94280 KB Output is correct
8 Correct 50 ms 94344 KB Output is correct
9 Correct 49 ms 94212 KB Output is correct
10 Correct 49 ms 94192 KB Output is correct
11 Correct 50 ms 94296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 48 ms 94148 KB Output is correct
2 Correct 182 ms 114040 KB Output is correct
3 Correct 144 ms 111556 KB Output is correct
4 Correct 173 ms 117140 KB Output is correct
5 Correct 180 ms 120680 KB Output is correct
6 Correct 179 ms 118068 KB Output is correct
7 Correct 509 ms 161384 KB Output is correct
8 Correct 188 ms 119388 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 55 ms 94148 KB Output is correct
2 Correct 49 ms 94268 KB Output is correct
3 Correct 55 ms 94284 KB Output is correct
4 Correct 49 ms 94240 KB Output is correct
5 Correct 48 ms 94276 KB Output is correct
6 Correct 49 ms 94284 KB Output is correct
7 Correct 51 ms 94280 KB Output is correct
8 Correct 50 ms 94344 KB Output is correct
9 Correct 49 ms 94212 KB Output is correct
10 Correct 49 ms 94192 KB Output is correct
11 Correct 50 ms 94296 KB Output is correct
12 Correct 49 ms 94272 KB Output is correct
13 Correct 51 ms 94276 KB Output is correct
14 Correct 50 ms 94244 KB Output is correct
15 Correct 51 ms 94288 KB Output is correct
16 Correct 51 ms 94252 KB Output is correct
17 Correct 51 ms 94284 KB Output is correct
18 Correct 51 ms 94276 KB Output is correct
19 Correct 50 ms 94276 KB Output is correct
20 Correct 50 ms 94256 KB Output is correct
21 Correct 52 ms 94276 KB Output is correct
22 Correct 50 ms 94256 KB Output is correct
23 Correct 51 ms 94484 KB Output is correct
24 Correct 54 ms 94404 KB Output is correct
25 Correct 52 ms 94460 KB Output is correct
26 Correct 50 ms 94404 KB Output is correct
27 Correct 51 ms 94488 KB Output is correct
28 Correct 51 ms 94436 KB Output is correct
29 Correct 52 ms 94488 KB Output is correct
30 Correct 52 ms 94432 KB Output is correct
31 Correct 51 ms 94404 KB Output is correct
32 Correct 54 ms 94412 KB Output is correct
33 Correct 50 ms 94416 KB Output is correct
34 Correct 51 ms 94404 KB Output is correct
35 Correct 51 ms 94440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 55 ms 94264 KB Output is correct
2 Correct 67 ms 98152 KB Output is correct
3 Correct 71 ms 97768 KB Output is correct
4 Correct 94 ms 101068 KB Output is correct
5 Correct 106 ms 101936 KB Output is correct
6 Correct 97 ms 102112 KB Output is correct
7 Correct 69 ms 98312 KB Output is correct
8 Correct 73 ms 98232 KB Output is correct
9 Correct 109 ms 103560 KB Output is correct
10 Correct 62 ms 97476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 55 ms 94148 KB Output is correct
2 Correct 49 ms 94268 KB Output is correct
3 Correct 55 ms 94284 KB Output is correct
4 Correct 49 ms 94240 KB Output is correct
5 Correct 48 ms 94276 KB Output is correct
6 Correct 49 ms 94284 KB Output is correct
7 Correct 51 ms 94280 KB Output is correct
8 Correct 50 ms 94344 KB Output is correct
9 Correct 49 ms 94212 KB Output is correct
10 Correct 49 ms 94192 KB Output is correct
11 Correct 50 ms 94296 KB Output is correct
12 Correct 49 ms 94272 KB Output is correct
13 Correct 51 ms 94276 KB Output is correct
14 Correct 50 ms 94244 KB Output is correct
15 Correct 51 ms 94288 KB Output is correct
16 Correct 51 ms 94252 KB Output is correct
17 Correct 51 ms 94284 KB Output is correct
18 Correct 51 ms 94276 KB Output is correct
19 Correct 50 ms 94276 KB Output is correct
20 Correct 50 ms 94256 KB Output is correct
21 Correct 52 ms 94276 KB Output is correct
22 Correct 50 ms 94256 KB Output is correct
23 Correct 51 ms 94484 KB Output is correct
24 Correct 54 ms 94404 KB Output is correct
25 Correct 52 ms 94460 KB Output is correct
26 Correct 50 ms 94404 KB Output is correct
27 Correct 51 ms 94488 KB Output is correct
28 Correct 51 ms 94436 KB Output is correct
29 Correct 52 ms 94488 KB Output is correct
30 Correct 52 ms 94432 KB Output is correct
31 Correct 51 ms 94404 KB Output is correct
32 Correct 54 ms 94412 KB Output is correct
33 Correct 50 ms 94416 KB Output is correct
34 Correct 51 ms 94404 KB Output is correct
35 Correct 51 ms 94440 KB Output is correct
36 Correct 55 ms 94264 KB Output is correct
37 Correct 67 ms 98152 KB Output is correct
38 Correct 71 ms 97768 KB Output is correct
39 Correct 94 ms 101068 KB Output is correct
40 Correct 106 ms 101936 KB Output is correct
41 Correct 97 ms 102112 KB Output is correct
42 Correct 69 ms 98312 KB Output is correct
43 Correct 73 ms 98232 KB Output is correct
44 Correct 109 ms 103560 KB Output is correct
45 Correct 62 ms 97476 KB Output is correct
46 Correct 50 ms 94240 KB Output is correct
47 Correct 51 ms 94292 KB Output is correct
48 Correct 51 ms 94172 KB Output is correct
49 Correct 50 ms 94284 KB Output is correct
50 Correct 50 ms 94176 KB Output is correct
51 Correct 50 ms 94264 KB Output is correct
52 Correct 50 ms 94240 KB Output is correct
53 Correct 50 ms 94280 KB Output is correct
54 Correct 50 ms 94280 KB Output is correct
55 Correct 50 ms 94288 KB Output is correct
56 Correct 50 ms 94292 KB Output is correct
57 Correct 51 ms 94488 KB Output is correct
58 Correct 52 ms 94400 KB Output is correct
59 Correct 51 ms 94472 KB Output is correct
60 Correct 51 ms 94404 KB Output is correct
61 Correct 52 ms 94400 KB Output is correct
62 Correct 51 ms 94404 KB Output is correct
63 Correct 51 ms 94404 KB Output is correct
64 Correct 50 ms 94428 KB Output is correct
65 Correct 54 ms 94492 KB Output is correct
66 Correct 50 ms 94448 KB Output is correct
67 Correct 51 ms 94444 KB Output is correct
68 Correct 51 ms 94440 KB Output is correct
69 Correct 51 ms 94448 KB Output is correct
70 Correct 49 ms 94272 KB Output is correct
71 Correct 68 ms 98160 KB Output is correct
72 Correct 65 ms 97780 KB Output is correct
73 Correct 90 ms 101060 KB Output is correct
74 Correct 97 ms 101960 KB Output is correct
75 Correct 96 ms 102092 KB Output is correct
76 Correct 68 ms 98392 KB Output is correct
77 Correct 68 ms 98168 KB Output is correct
78 Correct 109 ms 103556 KB Output is correct
79 Correct 61 ms 97520 KB Output is correct
80 Correct 72 ms 98496 KB Output is correct
81 Correct 82 ms 99056 KB Output is correct
82 Correct 78 ms 98500 KB Output is correct
83 Correct 90 ms 101024 KB Output is correct
84 Correct 81 ms 99240 KB Output is correct
85 Correct 100 ms 102256 KB Output is correct
86 Correct 87 ms 99608 KB Output is correct
87 Correct 79 ms 98364 KB Output is correct
88 Correct 99 ms 102440 KB Output is correct
89 Correct 96 ms 103488 KB Output is correct
90 Correct 94 ms 101440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 55 ms 94148 KB Output is correct
2 Correct 49 ms 94268 KB Output is correct
3 Correct 55 ms 94284 KB Output is correct
4 Correct 49 ms 94240 KB Output is correct
5 Correct 48 ms 94276 KB Output is correct
6 Correct 49 ms 94284 KB Output is correct
7 Correct 51 ms 94280 KB Output is correct
8 Correct 50 ms 94344 KB Output is correct
9 Correct 49 ms 94212 KB Output is correct
10 Correct 49 ms 94192 KB Output is correct
11 Correct 50 ms 94296 KB Output is correct
12 Correct 48 ms 94148 KB Output is correct
13 Correct 182 ms 114040 KB Output is correct
14 Correct 144 ms 111556 KB Output is correct
15 Correct 173 ms 117140 KB Output is correct
16 Correct 180 ms 120680 KB Output is correct
17 Correct 179 ms 118068 KB Output is correct
18 Correct 509 ms 161384 KB Output is correct
19 Correct 188 ms 119388 KB Output is correct
20 Correct 49 ms 94272 KB Output is correct
21 Correct 51 ms 94276 KB Output is correct
22 Correct 50 ms 94244 KB Output is correct
23 Correct 51 ms 94288 KB Output is correct
24 Correct 51 ms 94252 KB Output is correct
25 Correct 51 ms 94284 KB Output is correct
26 Correct 51 ms 94276 KB Output is correct
27 Correct 50 ms 94276 KB Output is correct
28 Correct 50 ms 94256 KB Output is correct
29 Correct 52 ms 94276 KB Output is correct
30 Correct 50 ms 94256 KB Output is correct
31 Correct 51 ms 94484 KB Output is correct
32 Correct 54 ms 94404 KB Output is correct
33 Correct 52 ms 94460 KB Output is correct
34 Correct 50 ms 94404 KB Output is correct
35 Correct 51 ms 94488 KB Output is correct
36 Correct 51 ms 94436 KB Output is correct
37 Correct 52 ms 94488 KB Output is correct
38 Correct 52 ms 94432 KB Output is correct
39 Correct 51 ms 94404 KB Output is correct
40 Correct 54 ms 94412 KB Output is correct
41 Correct 50 ms 94416 KB Output is correct
42 Correct 51 ms 94404 KB Output is correct
43 Correct 51 ms 94440 KB Output is correct
44 Correct 55 ms 94264 KB Output is correct
45 Correct 67 ms 98152 KB Output is correct
46 Correct 71 ms 97768 KB Output is correct
47 Correct 94 ms 101068 KB Output is correct
48 Correct 106 ms 101936 KB Output is correct
49 Correct 97 ms 102112 KB Output is correct
50 Correct 69 ms 98312 KB Output is correct
51 Correct 73 ms 98232 KB Output is correct
52 Correct 109 ms 103560 KB Output is correct
53 Correct 62 ms 97476 KB Output is correct
54 Correct 50 ms 94240 KB Output is correct
55 Correct 51 ms 94292 KB Output is correct
56 Correct 51 ms 94172 KB Output is correct
57 Correct 50 ms 94284 KB Output is correct
58 Correct 50 ms 94176 KB Output is correct
59 Correct 50 ms 94264 KB Output is correct
60 Correct 50 ms 94240 KB Output is correct
61 Correct 50 ms 94280 KB Output is correct
62 Correct 50 ms 94280 KB Output is correct
63 Correct 50 ms 94288 KB Output is correct
64 Correct 50 ms 94292 KB Output is correct
65 Correct 51 ms 94488 KB Output is correct
66 Correct 52 ms 94400 KB Output is correct
67 Correct 51 ms 94472 KB Output is correct
68 Correct 51 ms 94404 KB Output is correct
69 Correct 52 ms 94400 KB Output is correct
70 Correct 51 ms 94404 KB Output is correct
71 Correct 51 ms 94404 KB Output is correct
72 Correct 50 ms 94428 KB Output is correct
73 Correct 54 ms 94492 KB Output is correct
74 Correct 50 ms 94448 KB Output is correct
75 Correct 51 ms 94444 KB Output is correct
76 Correct 51 ms 94440 KB Output is correct
77 Correct 51 ms 94448 KB Output is correct
78 Correct 49 ms 94272 KB Output is correct
79 Correct 68 ms 98160 KB Output is correct
80 Correct 65 ms 97780 KB Output is correct
81 Correct 90 ms 101060 KB Output is correct
82 Correct 97 ms 101960 KB Output is correct
83 Correct 96 ms 102092 KB Output is correct
84 Correct 68 ms 98392 KB Output is correct
85 Correct 68 ms 98168 KB Output is correct
86 Correct 109 ms 103556 KB Output is correct
87 Correct 61 ms 97520 KB Output is correct
88 Correct 72 ms 98496 KB Output is correct
89 Correct 82 ms 99056 KB Output is correct
90 Correct 78 ms 98500 KB Output is correct
91 Correct 90 ms 101024 KB Output is correct
92 Correct 81 ms 99240 KB Output is correct
93 Correct 100 ms 102256 KB Output is correct
94 Correct 87 ms 99608 KB Output is correct
95 Correct 79 ms 98364 KB Output is correct
96 Correct 99 ms 102440 KB Output is correct
97 Correct 96 ms 103488 KB Output is correct
98 Correct 94 ms 101440 KB Output is correct
99 Correct 51 ms 94268 KB Output is correct
100 Correct 51 ms 94172 KB Output is correct
101 Correct 49 ms 94192 KB Output is correct
102 Correct 57 ms 94272 KB Output is correct
103 Correct 50 ms 94292 KB Output is correct
104 Correct 51 ms 94288 KB Output is correct
105 Correct 53 ms 94228 KB Output is correct
106 Correct 54 ms 94268 KB Output is correct
107 Correct 50 ms 94276 KB Output is correct
108 Correct 51 ms 94292 KB Output is correct
109 Correct 55 ms 94212 KB Output is correct
110 Correct 50 ms 94280 KB Output is correct
111 Correct 153 ms 114132 KB Output is correct
112 Correct 146 ms 111536 KB Output is correct
113 Correct 175 ms 117148 KB Output is correct
114 Correct 181 ms 120600 KB Output is correct
115 Correct 179 ms 118020 KB Output is correct
116 Correct 508 ms 161452 KB Output is correct
117 Correct 190 ms 119464 KB Output is correct
118 Correct 53 ms 94400 KB Output is correct
119 Correct 52 ms 94388 KB Output is correct
120 Correct 52 ms 94412 KB Output is correct
121 Correct 52 ms 94380 KB Output is correct
122 Correct 52 ms 94396 KB Output is correct
123 Correct 58 ms 94408 KB Output is correct
124 Correct 53 ms 94424 KB Output is correct
125 Correct 50 ms 94404 KB Output is correct
126 Correct 52 ms 94484 KB Output is correct
127 Correct 53 ms 94512 KB Output is correct
128 Correct 56 ms 94424 KB Output is correct
129 Correct 52 ms 94404 KB Output is correct
130 Correct 56 ms 94468 KB Output is correct
131 Correct 50 ms 94240 KB Output is correct
132 Correct 66 ms 98120 KB Output is correct
133 Correct 67 ms 97840 KB Output is correct
134 Correct 90 ms 101064 KB Output is correct
135 Correct 119 ms 101880 KB Output is correct
136 Correct 97 ms 102100 KB Output is correct
137 Correct 68 ms 98244 KB Output is correct
138 Correct 69 ms 98132 KB Output is correct
139 Correct 110 ms 103640 KB Output is correct
140 Correct 62 ms 97600 KB Output is correct
141 Correct 73 ms 98496 KB Output is correct
142 Correct 81 ms 98912 KB Output is correct
143 Correct 78 ms 98500 KB Output is correct
144 Correct 92 ms 101060 KB Output is correct
145 Correct 81 ms 99280 KB Output is correct
146 Correct 117 ms 102360 KB Output is correct
147 Correct 86 ms 99640 KB Output is correct
148 Correct 76 ms 98420 KB Output is correct
149 Correct 99 ms 102464 KB Output is correct
150 Correct 97 ms 103552 KB Output is correct
151 Correct 87 ms 101404 KB Output is correct
152 Correct 487 ms 183740 KB Output is correct
153 Correct 503 ms 186736 KB Output is correct
154 Correct 467 ms 180296 KB Output is correct
155 Correct 1134 ms 240788 KB Output is correct
156 Correct 929 ms 216112 KB Output is correct
157 Correct 449 ms 171332 KB Output is correct
158 Correct 710 ms 199628 KB Output is correct
159 Correct 1748 ms 322860 KB Output is correct
160 Correct 1406 ms 333388 KB Output is correct
161 Correct 706 ms 185112 KB Output is correct
162 Correct 561 ms 194504 KB Output is correct