Submission #1094032

# Submission time Handle Problem Language Result Execution time Memory
1094032 2024-09-28T10:51:54 Z 8pete8 Two Dishes (JOI19_dishes) C++17
74 / 100
3728 ms 212052 KB
#include<iostream>
#include<stack>
#include<map>
#include<vector>
#include<string>
#include<cassert>
#include<unordered_map>
#include <queue>
#include <cstdint>
#include<cstring>
#include<limits.h>
#include<cmath>
#include<set>
#include<algorithm>
#include <iomanip>
#include<numeric>
#include<bitset>
using namespace std;
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define ppii pair<int,pii>
#define vi vector<int>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define F(n) for(int i=0;i<n;i++)
#define lb lower_bound
#define ub upper_bound
#define fastio ios::sync_with_stdio(false);cin.tie(NULL);
#pragma GCC optimize ("03,unroll-lopps")
#define int long long
#define double long double
using namespace std;
const int mod=998244353,mxn=1e6+5,inf=1e18,minf=-1e18,lg=30;
//#undef int
int n,k,m,q;
void setIO(string name){
	ios_base::sync_with_stdio(0); cin.tie(0);		
	freopen((name+".in").c_str(),"r",stdin);		
	freopen((name+".out").c_str(),"w",stdout);	
}
pair<int,pii> v1[mxn+10],v2[mxn+10];
//time,before,point
int gap[mxn+10],dp[mxn+10],suf[mxn+10];
struct seg{
    int v[4*mxn+10],lazy1[4*mxn+10],lazy2[4*mxn+10];
    void init(){for(int i=0;i<=4*(n+1);i++)lazy2[i]=inf,v[i]=minf;}
    void build(int l,int r,int pos){
        int mid=l+(r-l)/2;
        v[pos]=0;
        if(l==r)return;
        build(l,mid,pos*2);
        build(mid+1,r,pos*2+1);
    }
    void push(int l,int r,int pos){
        if(lazy2[pos]!=inf)v[pos]=lazy2[pos];
        v[pos]+=lazy1[pos];
        if(l!=r){
            if(lazy2[pos]!=inf)lazy1[pos*2+1]=0,lazy1[pos*2]=0;
            lazy1[pos*2+1]+=lazy1[pos];
            lazy1[pos*2]+=lazy1[pos];
            if(lazy2[pos]!=inf){
                lazy2[pos*2+1]=lazy2[pos];
                lazy2[pos*2]=lazy2[pos];
            }
        }
        lazy2[pos]=inf;
        lazy1[pos]=0;
    }
    void updateadd(int l,int r,int ql,int qr,int val,int pos){
        push(l,r,pos);
        if(l>qr||r<ql)return;
        if(l>=ql&&r<=qr){
            lazy1[pos]+=val;
            push(l,r,pos);
            return;
        }
        int mid=l+(r-l)/2;
        updateadd(l,mid,ql,qr,val,pos*2);
        updateadd(mid+1,r,ql,qr,val,pos*2+1);
        v[pos]=max(v[pos*2],v[pos*2+1]);
    }
    void updateset(int l,int r,int ql,int qr,int val,int pos){
        push(l,r,pos);
        if(l>qr||r<ql)return;
        if(l>=ql&&r<=qr){
            lazy2[pos]=val;
            push(l,r,pos);
            return;
        }
        int mid=l+(r-l)/2;
        updateset(l,mid,ql,qr,val,pos*2);
        updateset(mid+1,r,ql,qr,val,pos*2+1);
        v[pos]=max(v[pos*2],v[pos*2+1]);
    }
    int qry(int l,int r,int qpos,int pos){
        push(l,r,pos);
        if(l==r)return v[pos];
        int mid=l+(r-l)/2;
        if(qpos<=mid)return qry(l,mid,qpos,pos*2);
        return qry(mid+1,r,qpos,pos*2+1);
    }
    int search(int l,int r,int ql,int qr,int val,int pos){
        //search pos where i<x
        push(l,r,pos);
        int mid=l+(r-l)/2;
        if(l>qr||r<ql)return -1;
        if(l>=ql&&r<=qr){
            if(l==r){
                if(v[pos]<val)return r;
                return -1;
            }
            if(v[pos]<val)return r;
            else{
                push(l,mid,pos*2);
                push(mid+1,r,pos*2+1);
                if(v[pos*2]<val)return max(mid,search(mid+1,r,ql,qr,val,pos*2+1));
                else return search(l,mid,ql,qr,val,pos*2);
            }
        }
        return max(search(l,mid,ql,qr,val,pos*2),search(mid+1,r,ql,qr,val,pos*2+1));
    }
}t;
int getbound(int x,int add){
	int l=0,r=n,pos=-1;
	while(l<=r){
		int mid=l+(r-l)/2;
		if(v1[mid].f+add<=x)l=mid+1,pos=max(pos,mid);
		else r=mid-1;
	}
	return pos;
}
int getpos(int x,int st){
    int l=st,r=n,pos=-1;
    while(l<=r){
        int mid=l+(r-l)/2;
        if(t.qry(0,n,mid,1)<x)l=mid+1,pos=max(pos,mid);
        else r=mid-1;
    }
    return pos;
}
int32_t main(){
    fastio
    //n^2 can use lazy seg to op
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>v1[i].f>>v1[i].s.f>>v1[i].s.s;
		v1[i].f+=v1[i-1].f;
	}
	for(int i=1;i<=m;i++){
		cin>>v2[i].f>>v2[i].s.f>>v2[i].s.s;
		v2[i].f+=v2[i-1].f;
	}
	int ans1=0,ans2=minf;
	vector<pii>gap;
	for(int i=1;i<=n;i++){
		if(v1[i].f<=v1[i].s.f){
			gap.pb({v1[i].s.f-v1[i].f,i});
			ans1+=v1[i].s.s;
		}
	}
    t.init();
    t.build(0,n,1);
	sort(all(gap));
	int cur=0,bruh,where;
	for(int j=1;j<=m;j++){
		while(cur<gap.size()&&gap[cur].f<v2[j].f){
            t.updateadd(0,n,0,gap[cur].s-1,-v1[gap[cur].s].s.s,1);
            if(v1[gap[cur].s].s.s<0){
                bruh=t.qry(0,n,gap[cur].s-1,1);
                where=t.search(0,n,gap[cur].s,n,bruh,1);
                if(where!=-1)t.updateset(0,n,gap[cur].s,where,bruh,1);
            }
			cur++;
		}
		int x=getbound(v2[j].s.f,v2[j].f);
        if(x!=-1)t.updateadd(0,n,0,x,v2[j].s.s,1);
        t.push(0,n,1);
        ans2=max(ans2,t.v[1]);
        if(x!=-1){
            bruh=t.qry(0,n,x,1);
            where=t.search(0,n,x+1,n,bruh,1);
            if(where!=-1)t.updateset(0,n,x+1,where,bruh,1);
        }
	}
    cout<<ans1+ans2<<'\n';
}
/*
 
*/

Compilation message

dishes.cpp:32:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
   32 | #pragma GCC optimize ("03,unroll-lopps")
      |                                        ^
dishes.cpp:39:23: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   39 | void setIO(string name){
      |                       ^
dishes.cpp:49:15: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   49 |     void init(){for(int i=0;i<=4*(n+1);i++)lazy2[i]=inf,v[i]=minf;}
      |               ^
dishes.cpp:50:35: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   50 |     void build(int l,int r,int pos){
      |                                   ^
dishes.cpp:57:34: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   57 |     void push(int l,int r,int pos){
      |                                  ^
dishes.cpp:72:61: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   72 |     void updateadd(int l,int r,int ql,int qr,int val,int pos){
      |                                                             ^
dishes.cpp:85:61: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   85 |     void updateset(int l,int r,int ql,int qr,int val,int pos){
      |                                                             ^
dishes.cpp:98:41: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   98 |     int qry(int l,int r,int qpos,int pos){
      |                                         ^
dishes.cpp:105:57: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
  105 |     int search(int l,int r,int ql,int qr,int val,int pos){
      |                                                         ^
dishes.cpp:126:27: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
  126 | int getbound(int x,int add){
      |                           ^
dishes.cpp:135:24: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
  135 | int getpos(int x,int st){
      |                        ^
dishes.cpp:144:14: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
  144 | int32_t main(){
      |              ^
dishes.cpp: In function 'int32_t main()':
dishes.cpp:169:12: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  169 |   while(cur<gap.size()&&gap[cur].f<v2[j].f){
      |         ~~~^~~~~~~~~~~
dishes.cpp: In function 'void setIO(std::string)':
dishes.cpp:41:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |  freopen((name+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dishes.cpp:42:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |  freopen((name+".out").c_str(),"w",stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 244 ms 42480 KB Output is correct
2 Correct 330 ms 42396 KB Output is correct
3 Correct 140 ms 38852 KB Output is correct
4 Correct 198 ms 40136 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 306 ms 41148 KB Output is correct
7 Correct 49 ms 11856 KB Output is correct
8 Correct 56 ms 27952 KB Output is correct
9 Correct 146 ms 39876 KB Output is correct
10 Correct 334 ms 37052 KB Output is correct
11 Correct 115 ms 33480 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 460 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 460 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 2 ms 860 KB Output is correct
18 Correct 2 ms 860 KB Output is correct
19 Correct 3 ms 860 KB Output is correct
20 Correct 2 ms 872 KB Output is correct
21 Correct 2 ms 728 KB Output is correct
22 Correct 3 ms 604 KB Output is correct
23 Correct 3 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 460 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 2 ms 860 KB Output is correct
18 Correct 2 ms 860 KB Output is correct
19 Correct 3 ms 860 KB Output is correct
20 Correct 2 ms 872 KB Output is correct
21 Correct 2 ms 728 KB Output is correct
22 Correct 3 ms 604 KB Output is correct
23 Correct 3 ms 604 KB Output is correct
24 Correct 185 ms 40128 KB Output is correct
25 Correct 245 ms 34508 KB Output is correct
26 Correct 143 ms 40384 KB Output is correct
27 Correct 220 ms 38688 KB Output is correct
28 Correct 227 ms 40132 KB Output is correct
29 Correct 119 ms 36804 KB Output is correct
30 Correct 511 ms 40388 KB Output is correct
31 Correct 46 ms 10400 KB Output is correct
32 Correct 92 ms 30144 KB Output is correct
33 Correct 300 ms 38128 KB Output is correct
34 Correct 392 ms 40128 KB Output is correct
35 Correct 488 ms 33728 KB Output is correct
36 Correct 484 ms 33928 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 460 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 2 ms 860 KB Output is correct
18 Correct 2 ms 860 KB Output is correct
19 Correct 3 ms 860 KB Output is correct
20 Correct 2 ms 872 KB Output is correct
21 Correct 2 ms 728 KB Output is correct
22 Correct 3 ms 604 KB Output is correct
23 Correct 3 ms 604 KB Output is correct
24 Correct 185 ms 40128 KB Output is correct
25 Correct 245 ms 34508 KB Output is correct
26 Correct 143 ms 40384 KB Output is correct
27 Correct 220 ms 38688 KB Output is correct
28 Correct 227 ms 40132 KB Output is correct
29 Correct 119 ms 36804 KB Output is correct
30 Correct 511 ms 40388 KB Output is correct
31 Correct 46 ms 10400 KB Output is correct
32 Correct 92 ms 30144 KB Output is correct
33 Correct 300 ms 38128 KB Output is correct
34 Correct 392 ms 40128 KB Output is correct
35 Correct 488 ms 33728 KB Output is correct
36 Correct 484 ms 33928 KB Output is correct
37 Correct 154 ms 43400 KB Output is correct
38 Correct 222 ms 41752 KB Output is correct
39 Correct 324 ms 40636 KB Output is correct
40 Correct 319 ms 40640 KB Output is correct
41 Correct 1 ms 348 KB Output is correct
42 Correct 542 ms 43444 KB Output is correct
43 Correct 320 ms 40928 KB Output is correct
44 Correct 376 ms 42940 KB Output is correct
45 Correct 505 ms 37064 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 460 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 604 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 2 ms 860 KB Output is correct
18 Correct 2 ms 860 KB Output is correct
19 Correct 3 ms 860 KB Output is correct
20 Correct 2 ms 872 KB Output is correct
21 Correct 2 ms 728 KB Output is correct
22 Correct 3 ms 604 KB Output is correct
23 Correct 3 ms 604 KB Output is correct
24 Correct 185 ms 40128 KB Output is correct
25 Correct 245 ms 34508 KB Output is correct
26 Correct 143 ms 40384 KB Output is correct
27 Correct 220 ms 38688 KB Output is correct
28 Correct 227 ms 40132 KB Output is correct
29 Correct 119 ms 36804 KB Output is correct
30 Correct 511 ms 40388 KB Output is correct
31 Correct 46 ms 10400 KB Output is correct
32 Correct 92 ms 30144 KB Output is correct
33 Correct 300 ms 38128 KB Output is correct
34 Correct 392 ms 40128 KB Output is correct
35 Correct 488 ms 33728 KB Output is correct
36 Correct 484 ms 33928 KB Output is correct
37 Correct 154 ms 43400 KB Output is correct
38 Correct 222 ms 41752 KB Output is correct
39 Correct 324 ms 40636 KB Output is correct
40 Correct 319 ms 40640 KB Output is correct
41 Correct 1 ms 348 KB Output is correct
42 Correct 542 ms 43444 KB Output is correct
43 Correct 320 ms 40928 KB Output is correct
44 Correct 376 ms 42940 KB Output is correct
45 Correct 505 ms 37064 KB Output is correct
46 Correct 829 ms 212052 KB Output is correct
47 Correct 1213 ms 204212 KB Output is correct
48 Correct 1750 ms 198304 KB Output is correct
49 Correct 1876 ms 198300 KB Output is correct
50 Correct 3728 ms 211876 KB Output is correct
51 Correct 2055 ms 195288 KB Output is correct
52 Correct 2254 ms 205468 KB Output is correct
53 Correct 3539 ms 180388 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 244 ms 42480 KB Output is correct
2 Correct 330 ms 42396 KB Output is correct
3 Correct 140 ms 38852 KB Output is correct
4 Correct 198 ms 40136 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 306 ms 41148 KB Output is correct
7 Correct 49 ms 11856 KB Output is correct
8 Correct 56 ms 27952 KB Output is correct
9 Correct 146 ms 39876 KB Output is correct
10 Correct 334 ms 37052 KB Output is correct
11 Correct 115 ms 33480 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 460 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 0 ms 604 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 344 KB Output is correct
21 Correct 0 ms 348 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 2 ms 860 KB Output is correct
29 Correct 2 ms 860 KB Output is correct
30 Correct 3 ms 860 KB Output is correct
31 Correct 2 ms 872 KB Output is correct
32 Correct 2 ms 728 KB Output is correct
33 Correct 3 ms 604 KB Output is correct
34 Correct 3 ms 604 KB Output is correct
35 Correct 185 ms 40128 KB Output is correct
36 Correct 245 ms 34508 KB Output is correct
37 Correct 143 ms 40384 KB Output is correct
38 Correct 220 ms 38688 KB Output is correct
39 Correct 227 ms 40132 KB Output is correct
40 Correct 119 ms 36804 KB Output is correct
41 Correct 511 ms 40388 KB Output is correct
42 Correct 46 ms 10400 KB Output is correct
43 Correct 92 ms 30144 KB Output is correct
44 Correct 300 ms 38128 KB Output is correct
45 Correct 392 ms 40128 KB Output is correct
46 Correct 488 ms 33728 KB Output is correct
47 Correct 484 ms 33928 KB Output is correct
48 Correct 154 ms 43400 KB Output is correct
49 Correct 222 ms 41752 KB Output is correct
50 Correct 324 ms 40636 KB Output is correct
51 Correct 319 ms 40640 KB Output is correct
52 Correct 1 ms 348 KB Output is correct
53 Correct 542 ms 43444 KB Output is correct
54 Correct 320 ms 40928 KB Output is correct
55 Correct 376 ms 42940 KB Output is correct
56 Correct 505 ms 37064 KB Output is correct
57 Incorrect 265 ms 43816 KB Output isn't correct
58 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 244 ms 42480 KB Output is correct
2 Correct 330 ms 42396 KB Output is correct
3 Correct 140 ms 38852 KB Output is correct
4 Correct 198 ms 40136 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 306 ms 41148 KB Output is correct
7 Correct 49 ms 11856 KB Output is correct
8 Correct 56 ms 27952 KB Output is correct
9 Correct 146 ms 39876 KB Output is correct
10 Correct 334 ms 37052 KB Output is correct
11 Correct 115 ms 33480 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 460 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 0 ms 604 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 344 KB Output is correct
21 Correct 0 ms 348 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 2 ms 860 KB Output is correct
29 Correct 2 ms 860 KB Output is correct
30 Correct 3 ms 860 KB Output is correct
31 Correct 2 ms 872 KB Output is correct
32 Correct 2 ms 728 KB Output is correct
33 Correct 3 ms 604 KB Output is correct
34 Correct 3 ms 604 KB Output is correct
35 Correct 185 ms 40128 KB Output is correct
36 Correct 245 ms 34508 KB Output is correct
37 Correct 143 ms 40384 KB Output is correct
38 Correct 220 ms 38688 KB Output is correct
39 Correct 227 ms 40132 KB Output is correct
40 Correct 119 ms 36804 KB Output is correct
41 Correct 511 ms 40388 KB Output is correct
42 Correct 46 ms 10400 KB Output is correct
43 Correct 92 ms 30144 KB Output is correct
44 Correct 300 ms 38128 KB Output is correct
45 Correct 392 ms 40128 KB Output is correct
46 Correct 488 ms 33728 KB Output is correct
47 Correct 484 ms 33928 KB Output is correct
48 Correct 154 ms 43400 KB Output is correct
49 Correct 222 ms 41752 KB Output is correct
50 Correct 324 ms 40636 KB Output is correct
51 Correct 319 ms 40640 KB Output is correct
52 Correct 1 ms 348 KB Output is correct
53 Correct 542 ms 43444 KB Output is correct
54 Correct 320 ms 40928 KB Output is correct
55 Correct 376 ms 42940 KB Output is correct
56 Correct 505 ms 37064 KB Output is correct
57 Correct 829 ms 212052 KB Output is correct
58 Correct 1213 ms 204212 KB Output is correct
59 Correct 1750 ms 198304 KB Output is correct
60 Correct 1876 ms 198300 KB Output is correct
61 Correct 3728 ms 211876 KB Output is correct
62 Correct 2055 ms 195288 KB Output is correct
63 Correct 2254 ms 205468 KB Output is correct
64 Correct 3539 ms 180388 KB Output is correct
65 Incorrect 265 ms 43816 KB Output isn't correct
66 Halted 0 ms 0 KB -