Submission #707040

# Submission time Handle Problem Language Result Execution time Memory
707040 2023-03-08T10:27:09 Z lam Progression (NOI20_progression) C++14
100 / 100
1465 ms 127968 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = 3e5 + 10;
typedef pair<int,int> ii;
#define ff first
#define ss second

int n,m;
int D[maxn];

struct node
{
    int pre,suf,val_l,val_r,ans,sz;
};
inline node hop(node x, node y)
{
    if (x.val_l==-1e18) return y;
    if (y.val_l==-1e18) return x;
    node z;
    z.pre = x.pre;
    if (x.pre==x.sz&&x.val_r==y.val_l) z.pre = max(z.pre,x.sz+y.pre);
    z.suf = y.suf;
    if (y.suf==y.sz&&y.val_l==x.val_r) z.suf = max(z.suf,y.sz+x.suf);
    z.val_l = x.val_l; z.val_r = y.val_r;
    z.ans = max(x.ans, y.ans);
    if (x.val_r==y.val_l) z.ans = max(z.ans,x.suf+y.pre);
    z.sz = x.sz + y.sz;
    return z;
}

node f[4*maxn]; int lazy_sum[4*maxn], lazy_eq[4*maxn];

void pusheq(int x, int lx, int rx, int val)
{
    f[x].val_l = f[x].val_r = lazy_eq[x] = val; lazy_sum[x]=0;
    f[x].ans = f[x].pre = f[x].suf = f[x].sz = (rx-lx+1);
}

void pushsum(int x, int lx, int rx, int val)
{
    f[x].val_l += val; f[x].val_r += val; lazy_sum[x] += val;
}

void down(int x, int lx, int rx)
{
    if (lx==rx) return;
    int mid=(lx+rx)/2;
    if (lazy_eq[x]!=-1e18)
    {
        pusheq(2*x,lx,mid,lazy_eq[x]);
        pusheq(2*x+1,mid+1,rx,lazy_eq[x]);
        lazy_eq[x]=-1e18;
    }
    if (lazy_sum[x]!=0)
    {
        pushsum(2*x,lx,mid,lazy_sum[x]);
        pushsum(2*x+1,mid+1,rx,lazy_sum[x]);
        lazy_sum[x]=0;
    }
}

void add(int x, int lx, int rx, int l, int r, int val)
{
    if (lx>r||rx<l) return ;
    if (lx>=l&&rx<=r)
    {
        pushsum(x,lx,rx,val);
        return;
    }
    int mid=(lx+rx)/2;
    down(x,lx,rx);
    add(2*x,lx,mid,l,r,val);
    add(2*x+1,mid+1,rx,l,r,val);
    f[x]=hop(f[2*x],f[2*x+1]);
}

void update_eq(int x, int lx, int rx, int l, int r, int val)
{
    if (lx>r||rx<l) return ;
    if (lx>=l&&rx<=r)
    {
        pusheq(x,lx,rx,val);
        return;
    }
    int mid=(lx+rx)/2; down(x,lx,rx);
    update_eq(2*x,lx,mid,l,r,val);
    update_eq(2*x+1,mid+1,rx,l,r,val);
    f[x]=hop(f[2*x],f[2*x+1]);
}

void update(int x, int lx, int rx, int idx, int val)
{
    if (lx==rx)
    {
        pusheq(x,lx,rx,val);
        return;
    }
    int mid=(lx+rx)/2;
    down(x,lx,rx);
    if (idx<=mid) update(2*x,lx,mid,idx,val);
        else update(2*x+1,mid+1,rx,idx,val);
    f[x]=hop(f[2*x],f[2*x+1]);
}

node get(int x, int lx, int rx, int l, int r)
{
    if (lx>r||rx<l) return {0,0,(int)-1e18,(int)-1e18,0,0};
    if (lx>=l&&rx<=r) return f[x];
    int mid=(lx+rx)/2;
    down(x,lx,rx);
    return hop(get(2*x,lx,mid,l,r),get(2*x+1,mid+1,rx,l,r));
}

struct line
{
    int a,b;
};
inline int calc(line x, int idx)
{
    return x.a*idx + x.b;
}
line seg[4*maxn],lazyeq[4*maxn],lazysum[4*maxn];

void pusheq_lichao(int x, int lx, int rx, line val)
{
    seg[x]=lazyeq[x]=val; lazysum[x]={0,0};
}
void pushsum_lichao(int x, int lx, int rx, line val)
{
    seg[x].a+=val.a; seg[x].b+=val.b;
    lazysum[x].a+=val.a; lazysum[x].b+=val.b;
}

void down_lichao(int x, int lx, int rx)
{
    if (lx==rx) return;
    int mid=(lx+rx)/2;
    if (lazyeq[x].a!=-1e18||lazyeq[x].b!=-1e18)
    {
        pusheq_lichao(2*x,lx,mid,lazyeq[x]);
        pusheq_lichao(2*x+1,mid+1,rx,lazyeq[x]);
        lazyeq[x]={(int)-1e18,(int)-1e18};
    }
    if (lazysum[x].a!=0||lazysum[x].b!=0)
    {
        pushsum_lichao(2*x,lx,mid,lazysum[x]);
        pushsum_lichao(2*x+1,mid+1,rx,lazysum[x]);
        lazysum[x]={0,0};
    }
}

void add_lichao(int x, int lx, int rx, int l, int r, line val)
{
    if (lx>r||rx<l) return ;
    if (lx>=l&&rx<=r)
    {
        pushsum_lichao(x,lx,rx,val);
        return;
    }
    int mid=(lx+rx)/2;
    down_lichao(x,lx,rx);
    add_lichao(2*x,lx,mid,l,r,val);
    add_lichao(2*x+1,mid+1,rx,l,r,val);
}

void update_lichao(int x, int lx, int rx, int l, int r, line val)
{
    if (lx>r||rx<l) return;
    if (lx>=l&&rx<=r)
    {
        pusheq_lichao(x,lx,rx,val);
        return;
    }
    int mid=(lx+rx)/2;
    down_lichao(x,lx,rx);
    update_lichao(2*x,lx,mid,l,r,val);
    update_lichao(2*x+1,mid+1,rx,l,r,val);
}

line qry(int x, int lx, int rx, int idx)
{
    if (lx==rx) return seg[x];
    int mid=(lx+rx)/2;
    down_lichao(x,lx,rx);
    if (idx<=mid) return qry(2*x,lx,mid,idx);
    else return qry(2*x+1,mid+1,rx,idx);
}

void build(int x, int lx, int rx)
{
    lazy_eq[x]=-1e18;
    lazy_sum[x]=0;
    if (lx==rx)
    {
        pusheq(x,lx,rx,D[lx]-D[lx-1]);
        return;
    }
    int mid=(lx+rx)/2;
    build(2*x,lx,mid); build(2*x+1,mid+1,rx);
    f[x]=hop(f[2*x],f[2*x+1]);
}

void build_lichao(int x, int lx, int rx)
{
    lazyeq[x]={(int)-1e18,(int)-1e18};
    lazysum[x]={0,0};
    if (lx==rx)
    {
        pusheq_lichao(x,lx,rx,{0,D[lx]});
        return;
    }
    int mid=(lx+rx)/2;
    build_lichao(2*x,lx,mid); build_lichao(2*x+1,mid+1,rx);
}

//void dbg(int x, int lx, int rx)
//{
//    cout<<x<<' '<<lx<<' '<<rx<<" = "<<f[x].val_l<<' '<<f[x].val_r<<" , "<<f[x].pre<<' '<<f[x].suf<<" , "<<f[x].sz<<' '<<f[x].ans<<" :: "<<lazy_eq[x]<<' '<<lazy_sum[x]<<'\n';
//    if (lx==rx) return;
//    int mid=(lx+rx)/2;
//    dbg(2*x,lx,mid);
//    dbg(2*x+1,mid+1,rx);
//}
//void dbg_lichao(int x, int lx, int rx)
//{
//    cout<<x<<' '<<lx<<' '<<rx<<" = "<<seg[x].a<<' '<<seg[x].b<<" , "<<lazysum[x].a<<' '<<lazysum[x].b<<" , "<<lazyeq[x].a<<' '<<lazyeq[x].b<<'\n';
//    if (lx==rx) return;
//    int mid=(lx+rx)/2;
//    dbg_lichao(2*x,lx,mid);
//    dbg_lichao(2*x+1,mid+1,rx);
//}

void sub1()
{
    for (int i=1; i<=m; i++)
    {
        int t,l,r; cin>>t;
        if (t==1||t==2)
        {
            int x,y; cin>>l>>r>>x>>y;
        }
        else
        {
            cin>>l>>r;
            cout<<"1\n";
        }
    }
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
    cin>>n>>m;
    for (int i=1; i<=n; i++) cin>>D[i];
    if (n==1)
    {
        sub1();
        return 0;
    }
    build(1,2,n);
    build_lichao(1,1,n);
    bool has=0;
    for (int i=1; i<=m; i++)
    {
        int t; cin>>t;
        if (t==1)
        {
            int l,r,S,C; cin>>l>>r>>S>>C;
            line temp = {C, S-l*C};
            add(1,2,n,l+1,r,C);
            add_lichao(1,1,n,l,r,temp);
            if (l>1) update(1,2,n,l,calc(qry(1,1,n,l),l) - calc(qry(1,1,n,l-1),l-1));
            if (r<n) update(1,2,n,r+1,calc(qry(1,1,n,r+1),r+1) - calc(qry(1,1,n,r),r));
//            cout<<l<<" :: "<<calc(qry(1,1,n,l),l)<<'\n';
//            cout<<r<<" :: "<<calc(qry(1,1,n,r),r)<<'\n';
        }
        else if (t==2)
        {
            int l,r,S,C; cin>>l>>r>>S>>C;
            has=1;
            line temp = {C, S-l*C};
            update_eq(1,2,n,l+1,r,C);
            update_lichao(1,1,n,l,r,temp);
            if (l>1) update(1,2,n,l,calc(qry(1,1,n,l),l) - calc(qry(1,1,n,l-1),l-1));
            if (r<n) update(1,2,n,r+1,calc(qry(1,1,n,r+1),r+1) - calc(qry(1,1,n,r),r));
        }
        else
        {
            int l,r; cin>>l>>r;
            node temp = get(1,2,n,l+1,r);
            int ans = temp.ans + 1;
            cout<<ans<<'\n';
        }
//        dbg(1,2,n);
//        cout<<" ========= \n";
//        dbg_lichao(1,1,n);
//        cout<<"---------------------------\n";
//        cout<<"---------------------------\n";
//        cout<<"---------------------------\n";
    }
}
/**
10 3
1 2 3 4 1 2 3 4 5 5
3 1 10
1 2 8 1 2
3 2 9
2 1 10 3 4
3 1 10
**/

Compilation message

Progression.cpp: In function 'int main()':
Progression.cpp:264:10: warning: variable 'has' set but not used [-Wunused-but-set-variable]
  264 |     bool has=0;
      |          ^~~
# Verdict Execution time Memory Grader output
1 Correct 159 ms 114832 KB Output is correct
2 Correct 77 ms 972 KB Output is correct
3 Correct 71 ms 924 KB Output is correct
4 Correct 73 ms 884 KB Output is correct
5 Correct 72 ms 972 KB Output is correct
6 Correct 72 ms 972 KB Output is correct
7 Correct 73 ms 900 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 158 ms 114720 KB Output is correct
12 Correct 161 ms 114748 KB Output is correct
13 Correct 158 ms 115052 KB Output is correct
14 Correct 156 ms 114964 KB Output is correct
15 Correct 165 ms 115020 KB Output is correct
16 Correct 159 ms 114692 KB Output is correct
17 Correct 163 ms 114764 KB Output is correct
18 Correct 163 ms 114684 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 596 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 2 ms 596 KB Output is correct
9 Correct 2 ms 596 KB Output is correct
10 Correct 2 ms 564 KB Output is correct
11 Correct 2 ms 596 KB Output is correct
12 Correct 2 ms 596 KB Output is correct
13 Correct 1 ms 596 KB Output is correct
14 Correct 1 ms 596 KB Output is correct
15 Correct 2 ms 596 KB Output is correct
16 Correct 2 ms 596 KB Output is correct
17 Correct 2 ms 596 KB Output is correct
18 Correct 2 ms 596 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
# Verdict Execution time Memory Grader output
1 Correct 306 ms 115244 KB Output is correct
2 Correct 90 ms 1148 KB Output is correct
3 Correct 82 ms 1100 KB Output is correct
4 Correct 76 ms 1180 KB Output is correct
5 Correct 82 ms 1264 KB Output is correct
6 Correct 82 ms 1216 KB Output is correct
7 Correct 78 ms 1280 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 312 ms 114780 KB Output is correct
12 Correct 290 ms 115000 KB Output is correct
13 Correct 302 ms 114844 KB Output is correct
14 Correct 294 ms 114688 KB Output is correct
15 Correct 286 ms 115108 KB Output is correct
16 Correct 302 ms 115620 KB Output is correct
17 Correct 300 ms 115532 KB Output is correct
18 Correct 325 ms 115548 KB Output is correct
19 Correct 272 ms 114800 KB Output is correct
20 Correct 268 ms 114968 KB Output is correct
21 Correct 265 ms 114832 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 767 ms 114832 KB Output is correct
2 Correct 165 ms 808 KB Output is correct
3 Correct 161 ms 3724 KB Output is correct
4 Correct 162 ms 3604 KB Output is correct
5 Correct 165 ms 3716 KB Output is correct
6 Correct 162 ms 3724 KB Output is correct
7 Correct 162 ms 3652 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 766 ms 120128 KB Output is correct
12 Correct 841 ms 123340 KB Output is correct
13 Correct 772 ms 120224 KB Output is correct
14 Correct 787 ms 120100 KB Output is correct
15 Correct 739 ms 123468 KB Output is correct
16 Correct 800 ms 123324 KB Output is correct
17 Correct 810 ms 123452 KB Output is correct
18 Correct 791 ms 123608 KB Output is correct
19 Correct 770 ms 123520 KB Output is correct
20 Correct 767 ms 123532 KB Output is correct
21 Correct 838 ms 123392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 306 ms 115244 KB Output is correct
2 Correct 90 ms 1148 KB Output is correct
3 Correct 82 ms 1100 KB Output is correct
4 Correct 76 ms 1180 KB Output is correct
5 Correct 82 ms 1264 KB Output is correct
6 Correct 82 ms 1216 KB Output is correct
7 Correct 78 ms 1280 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 312 ms 114780 KB Output is correct
12 Correct 290 ms 115000 KB Output is correct
13 Correct 302 ms 114844 KB Output is correct
14 Correct 294 ms 114688 KB Output is correct
15 Correct 286 ms 115108 KB Output is correct
16 Correct 302 ms 115620 KB Output is correct
17 Correct 300 ms 115532 KB Output is correct
18 Correct 325 ms 115548 KB Output is correct
19 Correct 272 ms 114800 KB Output is correct
20 Correct 268 ms 114968 KB Output is correct
21 Correct 265 ms 114832 KB Output is correct
22 Correct 979 ms 118676 KB Output is correct
23 Correct 160 ms 844 KB Output is correct
24 Correct 159 ms 3612 KB Output is correct
25 Correct 159 ms 3532 KB Output is correct
26 Correct 159 ms 3604 KB Output is correct
27 Correct 163 ms 3532 KB Output is correct
28 Correct 173 ms 3732 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 955 ms 124100 KB Output is correct
33 Correct 960 ms 126976 KB Output is correct
34 Correct 1028 ms 124116 KB Output is correct
35 Correct 968 ms 124304 KB Output is correct
36 Correct 734 ms 123980 KB Output is correct
37 Correct 718 ms 124064 KB Output is correct
38 Correct 706 ms 123880 KB Output is correct
39 Correct 970 ms 126836 KB Output is correct
40 Correct 1010 ms 127072 KB Output is correct
41 Correct 1002 ms 127012 KB Output is correct
42 Correct 1053 ms 127044 KB Output is correct
43 Correct 1173 ms 126872 KB Output is correct
44 Correct 1020 ms 126904 KB Output is correct
45 Correct 1059 ms 126836 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 159 ms 114832 KB Output is correct
2 Correct 77 ms 972 KB Output is correct
3 Correct 71 ms 924 KB Output is correct
4 Correct 73 ms 884 KB Output is correct
5 Correct 72 ms 972 KB Output is correct
6 Correct 72 ms 972 KB Output is correct
7 Correct 73 ms 900 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 158 ms 114720 KB Output is correct
12 Correct 161 ms 114748 KB Output is correct
13 Correct 158 ms 115052 KB Output is correct
14 Correct 156 ms 114964 KB Output is correct
15 Correct 165 ms 115020 KB Output is correct
16 Correct 159 ms 114692 KB Output is correct
17 Correct 163 ms 114764 KB Output is correct
18 Correct 163 ms 114684 KB Output is correct
19 Correct 3 ms 596 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 340 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 2 ms 596 KB Output is correct
27 Correct 2 ms 596 KB Output is correct
28 Correct 2 ms 564 KB Output is correct
29 Correct 2 ms 596 KB Output is correct
30 Correct 2 ms 596 KB Output is correct
31 Correct 1 ms 596 KB Output is correct
32 Correct 1 ms 596 KB Output is correct
33 Correct 2 ms 596 KB Output is correct
34 Correct 2 ms 596 KB Output is correct
35 Correct 2 ms 596 KB Output is correct
36 Correct 2 ms 596 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
38 Correct 1 ms 340 KB Output is correct
39 Correct 1 ms 340 KB Output is correct
40 Correct 306 ms 115244 KB Output is correct
41 Correct 90 ms 1148 KB Output is correct
42 Correct 82 ms 1100 KB Output is correct
43 Correct 76 ms 1180 KB Output is correct
44 Correct 82 ms 1264 KB Output is correct
45 Correct 82 ms 1216 KB Output is correct
46 Correct 78 ms 1280 KB Output is correct
47 Correct 1 ms 340 KB Output is correct
48 Correct 1 ms 340 KB Output is correct
49 Correct 1 ms 340 KB Output is correct
50 Correct 312 ms 114780 KB Output is correct
51 Correct 290 ms 115000 KB Output is correct
52 Correct 302 ms 114844 KB Output is correct
53 Correct 294 ms 114688 KB Output is correct
54 Correct 286 ms 115108 KB Output is correct
55 Correct 302 ms 115620 KB Output is correct
56 Correct 300 ms 115532 KB Output is correct
57 Correct 325 ms 115548 KB Output is correct
58 Correct 272 ms 114800 KB Output is correct
59 Correct 268 ms 114968 KB Output is correct
60 Correct 265 ms 114832 KB Output is correct
61 Correct 767 ms 114832 KB Output is correct
62 Correct 165 ms 808 KB Output is correct
63 Correct 161 ms 3724 KB Output is correct
64 Correct 162 ms 3604 KB Output is correct
65 Correct 165 ms 3716 KB Output is correct
66 Correct 162 ms 3724 KB Output is correct
67 Correct 162 ms 3652 KB Output is correct
68 Correct 1 ms 340 KB Output is correct
69 Correct 1 ms 340 KB Output is correct
70 Correct 1 ms 340 KB Output is correct
71 Correct 766 ms 120128 KB Output is correct
72 Correct 841 ms 123340 KB Output is correct
73 Correct 772 ms 120224 KB Output is correct
74 Correct 787 ms 120100 KB Output is correct
75 Correct 739 ms 123468 KB Output is correct
76 Correct 800 ms 123324 KB Output is correct
77 Correct 810 ms 123452 KB Output is correct
78 Correct 791 ms 123608 KB Output is correct
79 Correct 770 ms 123520 KB Output is correct
80 Correct 767 ms 123532 KB Output is correct
81 Correct 838 ms 123392 KB Output is correct
82 Correct 979 ms 118676 KB Output is correct
83 Correct 160 ms 844 KB Output is correct
84 Correct 159 ms 3612 KB Output is correct
85 Correct 159 ms 3532 KB Output is correct
86 Correct 159 ms 3604 KB Output is correct
87 Correct 163 ms 3532 KB Output is correct
88 Correct 173 ms 3732 KB Output is correct
89 Correct 1 ms 340 KB Output is correct
90 Correct 1 ms 340 KB Output is correct
91 Correct 1 ms 340 KB Output is correct
92 Correct 955 ms 124100 KB Output is correct
93 Correct 960 ms 126976 KB Output is correct
94 Correct 1028 ms 124116 KB Output is correct
95 Correct 968 ms 124304 KB Output is correct
96 Correct 734 ms 123980 KB Output is correct
97 Correct 718 ms 124064 KB Output is correct
98 Correct 706 ms 123880 KB Output is correct
99 Correct 970 ms 126836 KB Output is correct
100 Correct 1010 ms 127072 KB Output is correct
101 Correct 1002 ms 127012 KB Output is correct
102 Correct 1053 ms 127044 KB Output is correct
103 Correct 1173 ms 126872 KB Output is correct
104 Correct 1020 ms 126904 KB Output is correct
105 Correct 1059 ms 126836 KB Output is correct
106 Correct 1361 ms 127884 KB Output is correct
107 Correct 214 ms 3852 KB Output is correct
108 Correct 214 ms 3716 KB Output is correct
109 Correct 276 ms 3788 KB Output is correct
110 Correct 1 ms 340 KB Output is correct
111 Correct 1 ms 340 KB Output is correct
112 Correct 1 ms 340 KB Output is correct
113 Correct 1170 ms 127068 KB Output is correct
114 Correct 1158 ms 126944 KB Output is correct
115 Correct 1201 ms 126900 KB Output is correct
116 Correct 1063 ms 126780 KB Output is correct
117 Correct 1452 ms 127784 KB Output is correct
118 Correct 1055 ms 126884 KB Output is correct
119 Correct 1049 ms 126904 KB Output is correct
120 Correct 347 ms 121420 KB Output is correct
121 Correct 321 ms 121248 KB Output is correct
122 Correct 351 ms 121352 KB Output is correct
123 Correct 325 ms 120456 KB Output is correct
124 Correct 287 ms 120484 KB Output is correct
125 Correct 286 ms 120532 KB Output is correct
126 Correct 1376 ms 124500 KB Output is correct
127 Correct 1375 ms 124556 KB Output is correct
128 Correct 1330 ms 127828 KB Output is correct
129 Correct 1465 ms 124620 KB Output is correct
130 Correct 813 ms 124640 KB Output is correct
131 Correct 809 ms 124672 KB Output is correct
132 Correct 866 ms 124624 KB Output is correct
133 Correct 1373 ms 127952 KB Output is correct
134 Correct 1321 ms 127968 KB Output is correct
135 Correct 1409 ms 127880 KB Output is correct
136 Correct 243 ms 3776 KB Output is correct
137 Correct 205 ms 3728 KB Output is correct
138 Correct 219 ms 3716 KB Output is correct