Submission #63627

# Submission time Handle Problem Language Result Execution time Memory
63627 2018-08-02T09:21:53 Z MKopchev Paint By Numbers (IOI16_paint) C++14
100 / 100
1330 ms 108476 KB
/*
#include<bits/stdc++.h>
using namespace std;
const int nmax=2e5+42,kmax=1e2+4;
string inp;
int n;
int white[nmax],black[nmax];
bool can[nmax][2];//0->white, 1->black
int mem[nmax][kmax];
int m,SZ[kmax];
int add[nmax],add_white[nmax];
bool rec(int pos,int which)
{
    //cout<<pos<<" "<<which<<endl;
    if(pos>n)return which>m;
    if(which>m)
    {
        if(black[n]!=black[pos-1])return 0;
        add_white[pos]++;
        add_white[n+1]--;
        return 1;
    }
    if(mem[pos][which]!=-1)return mem[pos][which];
    if(pos+SZ[which]-1>n)return 0;
    if(inp[pos]=='_')
    {
        mem[pos][which]=rec(pos+1,which);
        return mem[pos][which];
    }
    if(inp[pos]=='X')
    {
        if(white[pos+SZ[which]-1]-white[pos-1])return 0;//there is white
        if(inp[pos+SZ[which]]=='X')return 0;
        else mem[pos][which]=rec(pos+SZ[which]+1,which+1);
        if(mem[pos][which])
        {
        if(inp[pos+SZ[which]]=='.')can[pos+SZ[which]][0]=1;
        add[pos]++;
        add[pos+SZ[which]]--;
        }
        return mem[pos][which];
    }
    //inp[pos]=='.'
    bool wh=0,bl=0;
    if(rec(pos+1,which))
    {
        wh=1;
        can[pos][0]=1;
    }
    if(white[pos+SZ[which]-1]-white[pos-1]==0)
    {
        if(inp[pos+SZ[which]]=='X')bl=0;
        else bl=rec(pos+SZ[which]+1,which+1);
        if(bl)
        {
        if(inp[pos+SZ[which]]=='.')can[pos+SZ[which]][0]=1;
        add[pos]++;
        add[pos+SZ[which]]--;
        }
    }
    mem[pos][which]=bl|wh;
    return mem[pos][which];
}
string solve_puzzle(string s, int k, int c[])
{
memset(mem,-1,sizeof(mem));
inp=s;
n=inp.size();
inp=" "+inp+"W";
m=k;
for(int i=1;i<=k;i++)
    SZ[i]=c[i-1];
int w=0,b=0;
for(int i=1;i<=n;i++)
{
    if(inp[i]=='X')b++;
    if(inp[i]=='_')w++;
    white[i]=w;
    black[i]=b;
}
assert(rec(1,1));

int now=0,W=0;;
for(int i=1;i<=n;i++)
{
    now=now+add[i];
    W=W+add_white[i];
    if(now)can[i][1]=1;
    if(W)can[i][0]=1;
}
string outp="";
for(int i=1;i<=n;i++)
    if(inp[i]!='.')outp.push_back(inp[i]);
    else
    {
        if(can[i][0]&&can[i][1])outp.push_back('?');
        if(can[i][0]==0&&can[i][1])outp.push_back('X');
        if(can[i][0]&&can[i][1]==0)outp.push_back('_');
        if(can[i][0]==0&&can[i][1]==0)assert(0==1);
    }
return outp;
}
*/
/*
string s="..........";
//string s="........";
int k=2;
int c[2]={3,4};
int main()
{
cout<<solve_puzzle(s,k,c)<<endl;
}
*/
/*
string s=".X........";
//string s="........";
int k=1;
int c[1]={3};
int main()
{
cout<<solve_puzzle(s,k,c)<<endl;
}
*/
#include<bits/stdc++.h>
#include "paint.h"
using namespace std;
const int nmax=2e5+42,kmax=1e2+4;
string inp;
int n;
int white[nmax],black[nmax];
bool can[nmax][2];//0->white, 1->black
int mem[nmax][kmax];
int m,SZ[kmax];
int add[nmax],add_white[nmax];
bool rec(int pos,int which)
{
    //cout<<pos<<" "<<which<<endl;
    if(pos>n)return which>m;
    if(which>m)
    {
        if(black[n]!=black[pos-1])return 0;
        add_white[pos]++;
        add_white[n+1]--;
        return 1;
    }
    if(mem[pos][which]!=-1)return mem[pos][which];
    if(pos+SZ[which]-1>n)return 0;
    if(inp[pos]=='_')
    {
        mem[pos][which]=rec(pos+1,which);
        return mem[pos][which];
    }
    if(inp[pos]=='X')
    {
        if(white[pos+SZ[which]-1]-white[pos-1])return 0;//there is white
        if(inp[pos+SZ[which]]=='X')return 0;
        else mem[pos][which]=rec(pos+SZ[which]+1,which+1);
        if(mem[pos][which])
        {
        if(inp[pos+SZ[which]]=='.')can[pos+SZ[which]][0]=1;
        add[pos]++;
        add[pos+SZ[which]]--;
        }
        return mem[pos][which];
    }
    //inp[pos]=='.'
    bool wh=0,bl=0;
    if(rec(pos+1,which))
    {
        wh=1;
        can[pos][0]=1;
    }
    if(white[pos+SZ[which]-1]-white[pos-1]==0)
    {
        if(inp[pos+SZ[which]]=='X')bl=0;
        else bl=rec(pos+SZ[which]+1,which+1);
        if(bl)
        {
        if(inp[pos+SZ[which]]=='.')can[pos+SZ[which]][0]=1;
        add[pos]++;
        add[pos+SZ[which]]--;
        }
    }
    mem[pos][which]=bl|wh;
    return mem[pos][which];
}
string solve_puzzle(string s, vector<int> c)
{
int k=c.size();
memset(mem,-1,sizeof(mem));
inp=s;
n=inp.size();
inp=" "+inp+"W";
m=k;
for(int i=1;i<=k;i++)
    SZ[i]=c[i-1];
int w=0,b=0;
for(int i=1;i<=n;i++)
{
    if(inp[i]=='X')b++;
    if(inp[i]=='_')w++;
    white[i]=w;
    black[i]=b;
}
assert(rec(1,1));

int now=0,W=0;;
for(int i=1;i<=n;i++)
{
    now=now+add[i];
    W=W+add_white[i];
    if(now)can[i][1]=1;
    if(W)can[i][0]=1;
}
string outp="";
for(int i=1;i<=n;i++)
    if(inp[i]!='.')outp.push_back(inp[i]);
    else
    {
        if(can[i][0]&&can[i][1])outp.push_back('?');
        if(can[i][0]==0&&can[i][1])outp.push_back('X');
        if(can[i][0]&&can[i][1]==0)outp.push_back('_');
        if(can[i][0]==0&&can[i][1]==0)assert(0==1);
    }
return outp;
}
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
20 Correct 78 ms 82044 KB n = 100, m = 5
21 Correct 64 ms 82044 KB n = 90, m = 3
22 Correct 76 ms 82048 KB n = 86, m = 2
23 Correct 64 ms 82052 KB n = 81, m = 4
24 Correct 65 ms 82052 KB n = 89, m = 10
25 Correct 63 ms 82052 KB n = 81, m = 23
26 Correct 63 ms 82064 KB n = 86, m = 8
27 Correct 63 ms 82092 KB n = 53, m = 22
28 Correct 64 ms 82092 KB n = 89, m = 35
29 Correct 66 ms 82160 KB n = 63, m = 25
30 Correct 73 ms 82252 KB n = 100, m = 50
31 Correct 79 ms 82252 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
20 Correct 78 ms 82044 KB n = 100, m = 5
21 Correct 64 ms 82044 KB n = 90, m = 3
22 Correct 76 ms 82048 KB n = 86, m = 2
23 Correct 64 ms 82052 KB n = 81, m = 4
24 Correct 65 ms 82052 KB n = 89, m = 10
25 Correct 63 ms 82052 KB n = 81, m = 23
26 Correct 63 ms 82064 KB n = 86, m = 8
27 Correct 63 ms 82092 KB n = 53, m = 22
28 Correct 64 ms 82092 KB n = 89, m = 35
29 Correct 66 ms 82160 KB n = 63, m = 25
30 Correct 73 ms 82252 KB n = 100, m = 50
31 Correct 79 ms 82252 KB n = 99, m = 50
32 Correct 80 ms 82252 KB n = 13, m = 4
33 Correct 75 ms 82252 KB n = 86, m = 2
34 Correct 78 ms 82268 KB n = 88, m = 2
35 Correct 73 ms 82268 KB n = 86, m = 2
36 Correct 78 ms 82268 KB n = 81, m = 6
37 Correct 85 ms 82268 KB n = 98, m = 7
38 Correct 86 ms 82268 KB n = 92, m = 7
39 Correct 90 ms 82280 KB n = 88, m = 21
40 Correct 86 ms 82280 KB n = 90, m = 21
41 Correct 78 ms 82280 KB n = 98, m = 22
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
20 Correct 78 ms 82044 KB n = 100, m = 5
21 Correct 64 ms 82044 KB n = 90, m = 3
22 Correct 76 ms 82048 KB n = 86, m = 2
23 Correct 64 ms 82052 KB n = 81, m = 4
24 Correct 65 ms 82052 KB n = 89, m = 10
25 Correct 63 ms 82052 KB n = 81, m = 23
26 Correct 63 ms 82064 KB n = 86, m = 8
27 Correct 63 ms 82092 KB n = 53, m = 22
28 Correct 64 ms 82092 KB n = 89, m = 35
29 Correct 66 ms 82160 KB n = 63, m = 25
30 Correct 73 ms 82252 KB n = 100, m = 50
31 Correct 79 ms 82252 KB n = 99, m = 50
32 Correct 80 ms 82252 KB n = 13, m = 4
33 Correct 75 ms 82252 KB n = 86, m = 2
34 Correct 78 ms 82268 KB n = 88, m = 2
35 Correct 73 ms 82268 KB n = 86, m = 2
36 Correct 78 ms 82268 KB n = 81, m = 6
37 Correct 85 ms 82268 KB n = 98, m = 7
38 Correct 86 ms 82268 KB n = 92, m = 7
39 Correct 90 ms 82280 KB n = 88, m = 21
40 Correct 86 ms 82280 KB n = 90, m = 21
41 Correct 78 ms 82280 KB n = 98, m = 22
42 Correct 82 ms 82280 KB n = 11, m = 2
43 Correct 85 ms 82280 KB n = 11, m = 2
44 Correct 76 ms 82280 KB n = 13, m = 3
45 Correct 90 ms 82280 KB n = 86, m = 2
46 Correct 87 ms 82280 KB n = 81, m = 2
47 Correct 89 ms 82280 KB n = 93, m = 2
48 Correct 80 ms 82280 KB n = 81, m = 2
49 Correct 86 ms 82280 KB n = 86, m = 2
50 Correct 84 ms 82280 KB n = 90, m = 2
51 Correct 82 ms 82280 KB n = 87, m = 2
52 Correct 83 ms 82280 KB n = 97, m = 2
53 Correct 86 ms 82344 KB n = 85, m = 2
54 Correct 76 ms 82344 KB n = 88, m = 7
55 Correct 78 ms 82344 KB n = 96, m = 7
56 Correct 80 ms 82356 KB n = 85, m = 7
57 Correct 78 ms 82356 KB n = 92, m = 7
58 Correct 87 ms 82356 KB n = 92, m = 7
59 Correct 77 ms 82356 KB n = 86, m = 7
60 Correct 80 ms 82356 KB n = 87, m = 7
61 Correct 80 ms 82356 KB n = 100, m = 7
62 Correct 78 ms 82356 KB n = 100, m = 7
63 Correct 81 ms 82356 KB n = 92, m = 21
64 Correct 77 ms 82388 KB n = 93, m = 22
65 Correct 78 ms 82388 KB n = 95, m = 22
66 Correct 81 ms 82388 KB n = 98, m = 22
67 Correct 85 ms 82388 KB n = 94, m = 22
68 Correct 81 ms 82388 KB n = 93, m = 22
69 Correct 75 ms 82388 KB n = 88, m = 21
70 Correct 84 ms 82388 KB n = 83, m = 20
71 Correct 85 ms 82388 KB n = 99, m = 23
72 Correct 87 ms 82400 KB n = 96, m = 19
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
20 Correct 78 ms 82044 KB n = 100, m = 5
21 Correct 64 ms 82044 KB n = 90, m = 3
22 Correct 76 ms 82048 KB n = 86, m = 2
23 Correct 64 ms 82052 KB n = 81, m = 4
24 Correct 65 ms 82052 KB n = 89, m = 10
25 Correct 63 ms 82052 KB n = 81, m = 23
26 Correct 63 ms 82064 KB n = 86, m = 8
27 Correct 63 ms 82092 KB n = 53, m = 22
28 Correct 64 ms 82092 KB n = 89, m = 35
29 Correct 66 ms 82160 KB n = 63, m = 25
30 Correct 73 ms 82252 KB n = 100, m = 50
31 Correct 79 ms 82252 KB n = 99, m = 50
32 Correct 80 ms 82252 KB n = 13, m = 4
33 Correct 75 ms 82252 KB n = 86, m = 2
34 Correct 78 ms 82268 KB n = 88, m = 2
35 Correct 73 ms 82268 KB n = 86, m = 2
36 Correct 78 ms 82268 KB n = 81, m = 6
37 Correct 85 ms 82268 KB n = 98, m = 7
38 Correct 86 ms 82268 KB n = 92, m = 7
39 Correct 90 ms 82280 KB n = 88, m = 21
40 Correct 86 ms 82280 KB n = 90, m = 21
41 Correct 78 ms 82280 KB n = 98, m = 22
42 Correct 82 ms 82280 KB n = 11, m = 2
43 Correct 85 ms 82280 KB n = 11, m = 2
44 Correct 76 ms 82280 KB n = 13, m = 3
45 Correct 90 ms 82280 KB n = 86, m = 2
46 Correct 87 ms 82280 KB n = 81, m = 2
47 Correct 89 ms 82280 KB n = 93, m = 2
48 Correct 80 ms 82280 KB n = 81, m = 2
49 Correct 86 ms 82280 KB n = 86, m = 2
50 Correct 84 ms 82280 KB n = 90, m = 2
51 Correct 82 ms 82280 KB n = 87, m = 2
52 Correct 83 ms 82280 KB n = 97, m = 2
53 Correct 86 ms 82344 KB n = 85, m = 2
54 Correct 76 ms 82344 KB n = 88, m = 7
55 Correct 78 ms 82344 KB n = 96, m = 7
56 Correct 80 ms 82356 KB n = 85, m = 7
57 Correct 78 ms 82356 KB n = 92, m = 7
58 Correct 87 ms 82356 KB n = 92, m = 7
59 Correct 77 ms 82356 KB n = 86, m = 7
60 Correct 80 ms 82356 KB n = 87, m = 7
61 Correct 80 ms 82356 KB n = 100, m = 7
62 Correct 78 ms 82356 KB n = 100, m = 7
63 Correct 81 ms 82356 KB n = 92, m = 21
64 Correct 77 ms 82388 KB n = 93, m = 22
65 Correct 78 ms 82388 KB n = 95, m = 22
66 Correct 81 ms 82388 KB n = 98, m = 22
67 Correct 85 ms 82388 KB n = 94, m = 22
68 Correct 81 ms 82388 KB n = 93, m = 22
69 Correct 75 ms 82388 KB n = 88, m = 21
70 Correct 84 ms 82388 KB n = 83, m = 20
71 Correct 85 ms 82388 KB n = 99, m = 23
72 Correct 87 ms 82400 KB n = 96, m = 19
73 Correct 83 ms 82508 KB n = 4825, m = 5
74 Correct 90 ms 82668 KB n = 4384, m = 5
75 Correct 82 ms 82668 KB n = 4528, m = 5
76 Correct 80 ms 82668 KB n = 4980, m = 5
77 Correct 78 ms 82668 KB n = 4730, m = 5
78 Correct 82 ms 82668 KB n = 4784, m = 5
79 Correct 84 ms 82668 KB n = 4875, m = 5
80 Correct 85 ms 82668 KB n = 4576, m = 5
81 Correct 90 ms 82680 KB n = 4297, m = 5
82 Correct 84 ms 82688 KB n = 4662, m = 48
83 Correct 87 ms 82688 KB n = 4753, m = 49
84 Correct 92 ms 82704 KB n = 4148, m = 46
85 Correct 85 ms 82716 KB n = 4906, m = 50
86 Correct 82 ms 82720 KB n = 4967, m = 50
87 Correct 84 ms 82728 KB n = 4828, m = 49
88 Correct 87 ms 82756 KB n = 4105, m = 45
89 Correct 79 ms 82756 KB n = 4954, m = 50
90 Correct 80 ms 82880 KB n = 4884, m = 49
91 Correct 84 ms 82880 KB n = 4307, m = 100
92 Correct 81 ms 82880 KB n = 4668, m = 100
93 Correct 79 ms 82880 KB n = 4647, m = 100
94 Correct 78 ms 82880 KB n = 4372, m = 100
95 Correct 81 ms 82880 KB n = 4791, m = 100
96 Correct 86 ms 82880 KB n = 4029, m = 100
97 Correct 83 ms 82880 KB n = 4439, m = 100
98 Correct 84 ms 82928 KB n = 4018, m = 100
99 Correct 87 ms 82928 KB n = 4979, m = 100
100 Correct 80 ms 82960 KB n = 4996, m = 89
# Verdict Execution time Memory Grader output
1 Correct 61 ms 81912 KB n = 13, m = 1
2 Correct 70 ms 81912 KB n = 18, m = 1
3 Correct 63 ms 81912 KB n = 17, m = 1
4 Correct 62 ms 81916 KB n = 1, m = 1
5 Correct 62 ms 81916 KB n = 20, m = 1
6 Correct 62 ms 81920 KB n = 20, m = 1
7 Correct 63 ms 81920 KB n = 20, m = 1
8 Correct 68 ms 81996 KB n = 20, m = 5
9 Correct 63 ms 81996 KB n = 18, m = 3
10 Correct 62 ms 82000 KB n = 17, m = 2
11 Correct 73 ms 82020 KB n = 20, m = 2
12 Correct 65 ms 82020 KB n = 17, m = 4
13 Correct 63 ms 82020 KB n = 17, m = 6
14 Correct 66 ms 82020 KB n = 17, m = 1
15 Correct 62 ms 82044 KB n = 17, m = 4
16 Correct 65 ms 82044 KB n = 13, m = 3
17 Correct 76 ms 82044 KB n = 18, m = 4
18 Correct 65 ms 82044 KB n = 20, m = 10
19 Correct 65 ms 82044 KB n = 19, m = 10
20 Correct 78 ms 82044 KB n = 100, m = 5
21 Correct 64 ms 82044 KB n = 90, m = 3
22 Correct 76 ms 82048 KB n = 86, m = 2
23 Correct 64 ms 82052 KB n = 81, m = 4
24 Correct 65 ms 82052 KB n = 89, m = 10
25 Correct 63 ms 82052 KB n = 81, m = 23
26 Correct 63 ms 82064 KB n = 86, m = 8
27 Correct 63 ms 82092 KB n = 53, m = 22
28 Correct 64 ms 82092 KB n = 89, m = 35
29 Correct 66 ms 82160 KB n = 63, m = 25
30 Correct 73 ms 82252 KB n = 100, m = 50
31 Correct 79 ms 82252 KB n = 99, m = 50
32 Correct 80 ms 82252 KB n = 13, m = 4
33 Correct 75 ms 82252 KB n = 86, m = 2
34 Correct 78 ms 82268 KB n = 88, m = 2
35 Correct 73 ms 82268 KB n = 86, m = 2
36 Correct 78 ms 82268 KB n = 81, m = 6
37 Correct 85 ms 82268 KB n = 98, m = 7
38 Correct 86 ms 82268 KB n = 92, m = 7
39 Correct 90 ms 82280 KB n = 88, m = 21
40 Correct 86 ms 82280 KB n = 90, m = 21
41 Correct 78 ms 82280 KB n = 98, m = 22
42 Correct 82 ms 82280 KB n = 11, m = 2
43 Correct 85 ms 82280 KB n = 11, m = 2
44 Correct 76 ms 82280 KB n = 13, m = 3
45 Correct 90 ms 82280 KB n = 86, m = 2
46 Correct 87 ms 82280 KB n = 81, m = 2
47 Correct 89 ms 82280 KB n = 93, m = 2
48 Correct 80 ms 82280 KB n = 81, m = 2
49 Correct 86 ms 82280 KB n = 86, m = 2
50 Correct 84 ms 82280 KB n = 90, m = 2
51 Correct 82 ms 82280 KB n = 87, m = 2
52 Correct 83 ms 82280 KB n = 97, m = 2
53 Correct 86 ms 82344 KB n = 85, m = 2
54 Correct 76 ms 82344 KB n = 88, m = 7
55 Correct 78 ms 82344 KB n = 96, m = 7
56 Correct 80 ms 82356 KB n = 85, m = 7
57 Correct 78 ms 82356 KB n = 92, m = 7
58 Correct 87 ms 82356 KB n = 92, m = 7
59 Correct 77 ms 82356 KB n = 86, m = 7
60 Correct 80 ms 82356 KB n = 87, m = 7
61 Correct 80 ms 82356 KB n = 100, m = 7
62 Correct 78 ms 82356 KB n = 100, m = 7
63 Correct 81 ms 82356 KB n = 92, m = 21
64 Correct 77 ms 82388 KB n = 93, m = 22
65 Correct 78 ms 82388 KB n = 95, m = 22
66 Correct 81 ms 82388 KB n = 98, m = 22
67 Correct 85 ms 82388 KB n = 94, m = 22
68 Correct 81 ms 82388 KB n = 93, m = 22
69 Correct 75 ms 82388 KB n = 88, m = 21
70 Correct 84 ms 82388 KB n = 83, m = 20
71 Correct 85 ms 82388 KB n = 99, m = 23
72 Correct 87 ms 82400 KB n = 96, m = 19
73 Correct 83 ms 82508 KB n = 4825, m = 5
74 Correct 90 ms 82668 KB n = 4384, m = 5
75 Correct 82 ms 82668 KB n = 4528, m = 5
76 Correct 80 ms 82668 KB n = 4980, m = 5
77 Correct 78 ms 82668 KB n = 4730, m = 5
78 Correct 82 ms 82668 KB n = 4784, m = 5
79 Correct 84 ms 82668 KB n = 4875, m = 5
80 Correct 85 ms 82668 KB n = 4576, m = 5
81 Correct 90 ms 82680 KB n = 4297, m = 5
82 Correct 84 ms 82688 KB n = 4662, m = 48
83 Correct 87 ms 82688 KB n = 4753, m = 49
84 Correct 92 ms 82704 KB n = 4148, m = 46
85 Correct 85 ms 82716 KB n = 4906, m = 50
86 Correct 82 ms 82720 KB n = 4967, m = 50
87 Correct 84 ms 82728 KB n = 4828, m = 49
88 Correct 87 ms 82756 KB n = 4105, m = 45
89 Correct 79 ms 82756 KB n = 4954, m = 50
90 Correct 80 ms 82880 KB n = 4884, m = 49
91 Correct 84 ms 82880 KB n = 4307, m = 100
92 Correct 81 ms 82880 KB n = 4668, m = 100
93 Correct 79 ms 82880 KB n = 4647, m = 100
94 Correct 78 ms 82880 KB n = 4372, m = 100
95 Correct 81 ms 82880 KB n = 4791, m = 100
96 Correct 86 ms 82880 KB n = 4029, m = 100
97 Correct 83 ms 82880 KB n = 4439, m = 100
98 Correct 84 ms 82928 KB n = 4018, m = 100
99 Correct 87 ms 82928 KB n = 4979, m = 100
100 Correct 80 ms 82960 KB n = 4996, m = 89
101 Correct 106 ms 90752 KB n = 178952, m = 10
102 Correct 105 ms 91744 KB n = 180674, m = 10
103 Correct 108 ms 92384 KB n = 167639, m = 10
104 Correct 102 ms 94040 KB n = 172892, m = 10
105 Correct 100 ms 94040 KB n = 168125, m = 10
106 Correct 108 ms 94040 KB n = 166514, m = 10
107 Correct 100 ms 94040 KB n = 183874, m = 10
108 Correct 120 ms 95376 KB n = 194560, m = 10
109 Correct 112 ms 95376 KB n = 171994, m = 10
110 Correct 104 ms 95376 KB n = 165207, m = 100
111 Correct 113 ms 95692 KB n = 188459, m = 100
112 Correct 112 ms 95692 KB n = 162137, m = 100
113 Correct 107 ms 95692 KB n = 169691, m = 100
114 Correct 117 ms 96108 KB n = 187642, m = 100
115 Correct 122 ms 96108 KB n = 168456, m = 100
116 Correct 109 ms 96464 KB n = 180980, m = 100
117 Correct 108 ms 96964 KB n = 191687, m = 100
118 Correct 110 ms 96964 KB n = 166437, m = 100
119 Correct 113 ms 97228 KB n = 186520, m = 100
120 Correct 114 ms 97228 KB n = 166675, m = 100
121 Correct 122 ms 97228 KB n = 187725, m = 100
122 Correct 108 ms 97228 KB n = 161455, m = 100
123 Correct 129 ms 97536 KB n = 192977, m = 100
124 Correct 126 ms 98096 KB n = 192612, m = 100
125 Correct 116 ms 98096 KB n = 196512, m = 100
126 Correct 116 ms 98364 KB n = 198968, m = 100
127 Correct 107 ms 98364 KB n = 166659, m = 100
128 Correct 302 ms 98768 KB n = 199997, m = 34
129 Correct 91 ms 98768 KB n = 200000, m = 1
130 Correct 150 ms 108408 KB n = 200000, m = 1
131 Correct 752 ms 108476 KB n = 199999, m = 100
132 Correct 1330 ms 108476 KB n = 199999, m = 100
133 Correct 91 ms 108476 KB n = 200000, m = 1