QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#183440#5375. SearchLynkcat75 1024ms103364kbC++205.1kb2023-09-19 15:15:192023-09-19 15:15:20

Judging History

你现在查看的是最新测评结果

  • [2023-09-19 15:15:20]
  • 评测
  • 测评结果:75
  • 用时:1024ms
  • 内存:103364kb
  • [2023-09-19 15:15:19]
  • 提交

answer

#include <bits/stdc++.h>
#include "search.h"
#define poly vector<int>
#define IOS ios::sync_with_stdio(false)
#define ll long long
#define mp make_pair
#define mt make_tuple
#define pa pair < int,int >
#define fi first
#define se second
#define inf 1e18
#define mod 998244353
#define sz(x) ((int)((x).size()))
// #define int ll

using namespace std;

namespace query 
{
    const int N=2005;
    int f[N][N];
    int n;
    int t1,t2;
    int bnd[N],pos[N];
    int mx,my;

    mt19937_64 rnd(time(0));
    map<pair<pa,pa>,string>Mp;
    map<pa,string>Mp1;
    string query1(int x,int y,int a,int b)
    {
        if (x<=a&&y<=b) return "<";
        if (Mp.count(mp(mp(x,y),mp(a,b)))) return Mp[mp(mp(x,y),mp(a,b))];
        t1++;
        string res=ask1(x,y,a,b);
        Mp[mp(mp(x,y),mp(a,b))]=res;
        if (res=="<") Mp[mp(mp(a,b),mp(x,y))]=">";
        else Mp[mp(mp(a,b),mp(x,y))]="<";
        return res;
    }
    string query2(int x,int y)
    {
        if (Mp1.count(mp(x,y))) return Mp1[mp(x,y)];
        t2++;
        string res=ask2(x,y);
        Mp1[mp(x,y)]=res;
        return res;
    }
    void geta(int k,int x,int y)
    {
        if (!x) return;
        int l=pos[k]+1,r=bnd[k];
        while (l<=r)
        {
            int mid=l+(r-l)/2;
            mid=l;
            if (query1(mid,k,x,y)=="<")
            {
                pos[k]=mid;
                l=mid+1;
            } else r=mid-1;
        }
    }
    void getb(int k,int x,int y)
    {
        int l=pos[k]+1,r=bnd[k];
        while (l<=r)
        {
            int mid=l+(r-l)/2;
            mid=r;
            if (query1(mid,k,x,y)=="<")
            {
                l=mid+1;
            } else
            {
                bnd[k]=mid-1;
                r=mid-1;
            }
        }
    }
    inline int calc(int x,int y)
    {
        return max((f[x][y]-1),(f[n][n]-f[x-1][n]-f[n][y-1]+f[x-1][y-1]-1));
    }
    int solve()
    {
        bool bl=1;
        for (int i=1;i<=n;i++)
            if (pos[i]==bnd[i]) bl&=1;
            else bl=0;
        int tot=0;
        poly g;
        for (int i=1;i<=n;i++)
        {
            tot+=bnd[i]-pos[i];
            if (bnd[i]!=pos[i]) g.push_back(i);
        }
        if (bl) return 1;
        // cout<<tot<<" "<<::c2<<endl;
        int sm=tot;
        int od=rnd()%sm;
        sm=0;
        int cx=0,cy=0;
        for (int i=1;i<=n;i++)
        {
            for (int j=1;j<=n;j++)
            {
                f[i][j]=0;
            }
        }
        for (int j=1;j<=n;j++)
            for (int i=pos[j]+1;i<=bnd[j];i++) f[i][j]=1;
        for (int i=1;i<=n;i++)
            for (int j=1;j<=n;j++)
                f[i][j]+=f[i-1][j]+f[i][j-1]-f[i-1][j-1];
        int Tot=0;
        vector<pa>all;
        if (tot&&t1+tot*(__lg(tot))>140000)
        {
            for (int j=1;j<=n;j++)
                for (int i=pos[j]+1;i<=bnd[j];i++) 
                    if (calc(i,j)*2<=tot) all.push_back(mp(i,j));
            int ooo=rnd()%all.size();
            cx=all[ooo].fi,cy=all[ooo].se;
        } else
        {
            for (int j=1;j<=n;j++)
                for (int i=pos[j]+1;i<=bnd[j];i++) 
                    all.push_back(mp(i,j));
            sort(all.begin(),all.end(),[&](pa x,pa y)
            {
                return query1(x.fi,x.se,y.fi,y.se)=="<";
            });
            int l=0,r=all.size()-1;
            int res=0;
            while (l<=r)
            {
                int mid=l+(r-l)/2;
                if (query2(all[mid].fi,all[mid].se)=="<")
                {
                    res=mid+1;
                    l=mid+1;
                } else r=mid-1;
            }
            for (int i=0;i<res;i++)
                pos[all[i].se]=bnd[all[i].se]=all[i].fi;
            return 1;
        }
        // if (tot>0)
        // {
        //     for (auto u:g)
        //     {
        //         sm+=bnd[u]-pos[u];
        //         if (od<sm)
        //         {
        //             cx=bnd[u]-(sm-od)+1;
        //             cy=u;
        //             break;
        //         }
        //     }
        // }
        if (query2(cx,cy)=="<")
        {
            pos[cy]=cx;
            for (int i=n;i>=1;i--)
                {
                    if (i<n)
                        pos[i]=max(pos[i],pos[i+1]);
                    if (i!=cy)
                        geta(i,cx,cy);
                }
        } else
        {
            bnd[cy]=cx-1;
            for (int i=1;i<=n;i++)
                {
                    if (i>1)
                        bnd[i]=min(bnd[i],bnd[i-1]);
                    if (i!=cy)
                        getb(i,cx,cy);
                }
        }
        return 0;
    }

    int main(int nn) 
    {
        n=nn;
        mx=n,my=n;
        if (query2(n,n)=="<")
        {
            return n*n;
        }
        poly g;
        for (int i=1;i<=n;i++)
            g.push_back(i),bnd[i]=n;
        while (!solve());
        int ans=0;
        for (int i=1;i<=n;i++) ans+=pos[i];
        return ans;
    }
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 1ms
memory: 6228kb

input:

6 3
384 45
837639677

output:

1 103 6

result:

points 1.0 correct, ask1 called 103 time(s), ask2 called 6 time(s)

Test #2:

score: 10
Accepted
time: 2ms
memory: 8032kb

input:

8 59
512 45
439876779

output:

1 250 7

result:

points 1.0 correct, ask1 called 250 time(s), ask2 called 7 time(s)

Test #3:

score: 10
Accepted
time: 1ms
memory: 5996kb

input:

9 27
576 45
777817090

output:

1 328 8

result:

points 1.0 correct, ask1 called 328 time(s), ask2 called 8 time(s)

Test #4:

score: 10
Accepted
time: 1ms
memory: 6052kb

input:

7 14
448 45
42081112

output:

1 147 7

result:

points 1.0 correct, ask1 called 147 time(s), ask2 called 7 time(s)

Test #5:

score: 10
Accepted
time: 1ms
memory: 5972kb

input:

6 14
384 45
380054191

output:

1 94 6

result:

points 1.0 correct, ask1 called 94 time(s), ask2 called 6 time(s)

Test #6:

score: 10
Accepted
time: 0ms
memory: 6280kb

input:

9 13
576 45
718060038

output:

1 321 8

result:

points 1.0 correct, ask1 called 321 time(s), ask2 called 8 time(s)

Test #7:

score: 10
Accepted
time: 1ms
memory: 6292kb

input:

9 16
576 45
1056065885

output:

1 309 7

result:

points 1.0 correct, ask1 called 309 time(s), ask2 called 7 time(s)

Test #8:

score: 10
Accepted
time: 1ms
memory: 5944kb

input:

7 41
448 45
320297139

output:

1 144 7

result:

points 1.0 correct, ask1 called 144 time(s), ask2 called 7 time(s)

Test #9:

score: 10
Accepted
time: 1ms
memory: 6040kb

input:

7 33
448 45
658302986

output:

1 154 7

result:

points 1.0 correct, ask1 called 154 time(s), ask2 called 7 time(s)

Test #10:

score: 10
Accepted
time: 1ms
memory: 6248kb

input:

7 30
448 45
996276065

output:

1 185 6

result:

points 1.0 correct, ask1 called 185 time(s), ask2 called 6 time(s)

Test #11:

score: 10
Accepted
time: 0ms
memory: 6236kb

input:

7 37
448 45
598480398

output:

1 139 7

result:

points 1.0 correct, ask1 called 139 time(s), ask2 called 7 time(s)

Test #12:

score: 10
Accepted
time: 1ms
memory: 6020kb

input:

10 27
640 45
936486245

output:

1 428 7

result:

points 1.0 correct, ask1 called 428 time(s), ask2 called 7 time(s)

Test #13:

score: 10
Accepted
time: 0ms
memory: 5996kb

input:

8 22
512 45
200750268

output:

1 228 7

result:

points 1.0 correct, ask1 called 228 time(s), ask2 called 7 time(s)

Test #14:

score: 10
Accepted
time: 0ms
memory: 8068kb

input:

10 41
640 45
538723346

output:

1 422 8

result:

points 1.0 correct, ask1 called 422 time(s), ask2 called 8 time(s)

Test #15:

score: 10
Accepted
time: 1ms
memory: 5948kb

input:

6 35
384 45
876729193

output:

1 121 6

result:

points 1.0 correct, ask1 called 121 time(s), ask2 called 6 time(s)

Test #16:

score: 10
Accepted
time: 1ms
memory: 6116kb

input:

10 98
640 45
140960448

output:

1 422 8

result:

points 1.0 correct, ask1 called 422 time(s), ask2 called 8 time(s)

Test #17:

score: 10
Accepted
time: 1ms
memory: 6004kb

input:

8 36
512 45
478966295

output:

1 242 7

result:

points 1.0 correct, ask1 called 242 time(s), ask2 called 7 time(s)

Test #18:

score: 10
Accepted
time: 1ms
memory: 5976kb

input:

8 9
512 45
81170628

output:

1 257 7

result:

points 1.0 correct, ask1 called 257 time(s), ask2 called 7 time(s)

Test #19:

score: 10
Accepted
time: 0ms
memory: 7980kb

input:

6 20
384 45
419176475

output:

1 111 6

result:

points 1.0 correct, ask1 called 111 time(s), ask2 called 6 time(s)

Test #20:

score: 10
Accepted
time: 1ms
memory: 6224kb

input:

6 23
384 45
757149553

output:

1 107 7

result:

points 1.0 correct, ask1 called 107 time(s), ask2 called 7 time(s)

Subtask #2:

score: 65
Acceptable Answer

Test #21:

score: 90
Accepted
time: 804ms
memory: 100844kb

input:

1998 997469
511488 45
691176210

output:

1 119135 27

result:

points 1.0 correct, ask1 called 119135 time(s), ask2 called 27 time(s)

Test #22:

score: 90
Accepted
time: 709ms
memory: 100020kb

input:

1997 250682
511232 45
1029182057

output:

1 46601 24

result:

points 1.0 correct, ask1 called 46601 time(s), ask2 called 24 time(s)

Test #23:

score: 90
Accepted
time: 866ms
memory: 100348kb

input:

2000 1742216
512000 45
293413312

output:

1 102228 29

result:

points 1.0 correct, ask1 called 102228 time(s), ask2 called 29 time(s)

Test #24:

score: 65
Acceptable Answer
time: 768ms
memory: 100188kb

input:

1996 2394420
510976 45
631419158

output:

1 129676 25

result:

points 0.72222222220 correct, ask1 called 129676 time(s), ask2 called 25 time(s)

Test #25:

score: 90
Accepted
time: 677ms
memory: 101208kb

input:

1998 3398507
511488 45
969425005

output:

1 36369 22

result:

points 1.0 correct, ask1 called 36369 time(s), ask2 called 22 time(s)

Test #26:

score: 90
Accepted
time: 846ms
memory: 101336kb

input:

1998 574252
511488 45
571662106

output:

1 85010 27

result:

points 1.0 correct, ask1 called 85010 time(s), ask2 called 27 time(s)

Test #27:

score: 90
Accepted
time: 723ms
memory: 101180kb

input:

1996 1162097
510976 45
909635185

output:

1 103666 27

result:

points 1.0 correct, ask1 called 103666 time(s), ask2 called 27 time(s)

Test #28:

score: 90
Accepted
time: 645ms
memory: 99644kb

input:

1999 1287929
511744 45
173899208

output:

1 77293 23

result:

points 1.0 correct, ask1 called 77293 time(s), ask2 called 23 time(s)

Test #29:

score: 65
Acceptable Answer
time: 882ms
memory: 101128kb

input:

1996 513076
510976 45
511839519

output:

1 136410 30

result:

points 0.72222222220 correct, ask1 called 136410 time(s), ask2 called 30 time(s)

Test #30:

score: 90
Accepted
time: 900ms
memory: 100880kb

input:

1999 2359752
511744 45
849845365

output:

1 101294 31

result:

points 1.0 correct, ask1 called 101294 time(s), ask2 called 31 time(s)

Test #31:

score: 90
Accepted
time: 683ms
memory: 99820kb

input:

1996 1905307
510976 45
114109388

output:

1 68368 24

result:

points 1.0 correct, ask1 called 68368 time(s), ask2 called 24 time(s)

Test #32:

score: 90
Accepted
time: 793ms
memory: 101384kb

input:

1999 3464342
511744 45
452082467

output:

1 53780 26

result:

points 1.0 correct, ask1 called 53780 time(s), ask2 called 26 time(s)

Test #33:

score: 90
Accepted
time: 902ms
memory: 101276kb

input:

1997 3041161
511232 45
790088314

output:

1 118492 32

result:

points 1.0 correct, ask1 called 118492 time(s), ask2 called 32 time(s)

Test #34:

score: 90
Accepted
time: 857ms
memory: 101440kb

input:

1999 605699
511744 45
54319568

output:

1 117094 26

result:

points 1.0 correct, ask1 called 117094 time(s), ask2 called 26 time(s)

Test #35:

score: 90
Accepted
time: 836ms
memory: 101016kb

input:

2000 3411048
512000 45
392325415

output:

1 115075 26

result:

points 1.0 correct, ask1 called 115075 time(s), ask2 called 26 time(s)

Test #36:

score: 65
Acceptable Answer
time: 771ms
memory: 101180kb

input:

1999 1677521
511744 45
730331262

output:

1 138480 24

result:

points 0.72222222220 correct, ask1 called 138480 time(s), ask2 called 24 time(s)

Test #37:

score: 65
Acceptable Answer
time: 874ms
memory: 100824kb

input:

1997 1645949
511232 45
1068271572

output:

1 133613 29

result:

points 0.72222222220 correct, ask1 called 133613 time(s), ask2 called 29 time(s)

Test #38:

score: 65
Acceptable Answer
time: 783ms
memory: 99696kb

input:

2000 1395508
512000 45
670508674

output:

1 136907 30

result:

points 0.72222222220 correct, ask1 called 136907 time(s), ask2 called 30 time(s)

Test #39:

score: 90
Accepted
time: 749ms
memory: 101204kb

input:

2000 1045422
512000 45
1008514521

output:

1 93856 25

result:

points 1.0 correct, ask1 called 93856 time(s), ask2 called 25 time(s)

Test #40:

score: 90
Accepted
time: 957ms
memory: 101412kb

input:

2000 2404123
512000 45
272745775

output:

1 99247 31

result:

points 1.0 correct, ask1 called 99247 time(s), ask2 called 31 time(s)

Test #41:

score: 90
Accepted
time: 911ms
memory: 100800kb

input:

1998 2301912
511488 45
610751622

output:

1 87906 31

result:

points 1.0 correct, ask1 called 87906 time(s), ask2 called 31 time(s)

Test #42:

score: 90
Accepted
time: 831ms
memory: 100448kb

input:

2000 3412738
512000 45
948757469

output:

1 101987 27

result:

points 1.0 correct, ask1 called 101987 time(s), ask2 called 27 time(s)

Test #43:

score: 90
Accepted
time: 934ms
memory: 101048kb

input:

1998 3469663
511488 45
212988724

output:

1 126609 30

result:

points 1.0 correct, ask1 called 126609 time(s), ask2 called 30 time(s)

Test #44:

score: 90
Accepted
time: 870ms
memory: 101324kb

input:

1996 3617351
510976 45
550961802

output:

1 125515 27

result:

points 1.0 correct, ask1 called 125515 time(s), ask2 called 27 time(s)

Test #45:

score: 65
Acceptable Answer
time: 1024ms
memory: 100624kb

input:

1998 710945
511488 45
888934881

output:

1 126248 35

result:

points 0.72222222220 correct, ask1 called 126248 time(s), ask2 called 35 time(s)

Test #46:

score: 90
Accepted
time: 721ms
memory: 100072kb

input:

1999 2333740
511744 45
153198904

output:

1 118205 23

result:

points 1.0 correct, ask1 called 118205 time(s), ask2 called 23 time(s)

Test #47:

score: 65
Acceptable Answer
time: 996ms
memory: 101696kb

input:

1998 1878695
511488 45
491171982

output:

1 146327 31

result:

points 0.72222222220 correct, ask1 called 146327 time(s), ask2 called 31 time(s)

Test #48:

score: 90
Accepted
time: 902ms
memory: 100572kb

input:

1997 3590574
511232 45
93441852

output:

1 71449 29

result:

points 1.0 correct, ask1 called 71449 time(s), ask2 called 29 time(s)

Test #49:

score: 65
Acceptable Answer
time: 951ms
memory: 101764kb

input:

1996 1801543
510976 45
431414931

output:

1 141773 32

result:

points 0.72222222220 correct, ask1 called 141773 time(s), ask2 called 32 time(s)

Test #50:

score: 90
Accepted
time: 860ms
memory: 99868kb

input:

1999 3672188
511744 45
769420777

output:

1 82752 27

result:

points 1.0 correct, ask1 called 82752 time(s), ask2 called 27 time(s)

Test #51:

score: 90
Accepted
time: 862ms
memory: 101160kb

input:

1997 1535960
383424 38
726700757

output:

1 73584 30

result:

points 1.0 correct, ask1 called 73584 time(s), ask2 called 30 time(s)

Test #52:

score: 90
Accepted
time: 677ms
memory: 100060kb

input:

1999 3382611
383808 38
1064673836

output:

1 113916 23

result:

points 1.0 correct, ask1 called 113916 time(s), ask2 called 23 time(s)

Test #53:

score: 65
Acceptable Answer
time: 902ms
memory: 102096kb

input:

1999 2544646
383808 38
328937859

output:

1 142768 27

result:

points 0.72222222220 correct, ask1 called 142768 time(s), ask2 called 27 time(s)

Test #54:

score: 90
Accepted
time: 824ms
memory: 101648kb

input:

2000 3759384
384000 38
666910937

output:

1 110525 28

result:

points 1.0 correct, ask1 called 110525 time(s), ask2 called 28 time(s)

Test #55:

score: 65
Acceptable Answer
time: 796ms
memory: 101332kb

input:

2000 767997
384000 38
269148039

output:

1 137451 25

result:

points 0.72222222220 correct, ask1 called 137451 time(s), ask2 called 25 time(s)

Test #56:

score: 65
Acceptable Answer
time: 869ms
memory: 100632kb

input:

1997 1437146
383424 38
607153886

output:

1 137745 29

result:

points 0.72222222220 correct, ask1 called 137745 time(s), ask2 called 29 time(s)

Test #57:

score: 65
Acceptable Answer
time: 803ms
memory: 100824kb

input:

2000 1776612
384000 38
945159732

output:

1 133374 28

result:

points 0.72222222220 correct, ask1 called 133374 time(s), ask2 called 28 time(s)

Test #58:

score: 90
Accepted
time: 930ms
memory: 101808kb

input:

1998 2265321
383616 38
209358219

output:

1 113898 33

result:

points 1.0 correct, ask1 called 113898 time(s), ask2 called 33 time(s)

Test #59:

score: 90
Accepted
time: 881ms
memory: 101532kb

input:

1997 1854922
383424 38
547364066

output:

1 110576 32

result:

points 1.0 correct, ask1 called 110576 time(s), ask2 called 32 time(s)

Test #60:

score: 65
Acceptable Answer
time: 953ms
memory: 101236kb

input:

1998 3465840
383616 38
885337145

output:

1 161832 36

result:

points 0.72222222220 correct, ask1 called 161832 time(s), ask2 called 36 time(s)

Test #61:

score: 90
Accepted
time: 812ms
memory: 101156kb

input:

2000 2052285
384000 38
149601167

output:

1 124244 29

result:

points 1.0 correct, ask1 called 124244 time(s), ask2 called 29 time(s)

Test #62:

score: 90
Accepted
time: 699ms
memory: 101508kb

input:

1998 674354
383616 38
487574246

output:

1 126292 23

result:

points 1.0 correct, ask1 called 126292 time(s), ask2 called 23 time(s)

Test #63:

score: 90
Accepted
time: 784ms
memory: 100720kb

input:

1996 3620340
383232 38
825580093

output:

1 81895 26

result:

points 1.0 correct, ask1 called 81895 time(s), ask2 called 26 time(s)

Test #64:

score: 90
Accepted
time: 725ms
memory: 100372kb

input:

1998 1874872
383616 38
89844115

output:

1 43766 23

result:

points 1.0 correct, ask1 called 43766 time(s), ask2 called 23 time(s)

Test #65:

score: 90
Accepted
time: 814ms
memory: 100568kb

input:

1996 995786
383232 38
427817194

output:

1 100492 26

result:

points 1.0 correct, ask1 called 100492 time(s), ask2 called 26 time(s)

Test #66:

score: 65
Acceptable Answer
time: 846ms
memory: 99712kb

input:

1996 2420784
383232 38
30021528

output:

1 153856 28

result:

points 0.72222222220 correct, ask1 called 153856 time(s), ask2 called 28 time(s)

Test #67:

score: 90
Accepted
time: 729ms
memory: 101088kb

input:

1999 3356599
383808 38
368027374

output:

1 118615 22

result:

points 1.0 correct, ask1 called 118615 time(s), ask2 called 22 time(s)

Test #68:

score: 90
Accepted
time: 822ms
memory: 101364kb

input:

1999 2485867
383808 38
706033221

output:

1 101838 27

result:

points 1.0 correct, ask1 called 101838 time(s), ask2 called 27 time(s)

Test #69:

score: 65
Acceptable Answer
time: 895ms
memory: 99704kb

input:

1997 2470380
383424 38
1044006300

output:

1 145980 28

result:

points 0.72222222220 correct, ask1 called 145980 time(s), ask2 called 28 time(s)

Test #70:

score: 65
Acceptable Answer
time: 833ms
memory: 100024kb

input:

1996 1188460
383232 38
308270323

output:

1 137346 27

result:

points 0.72222222220 correct, ask1 called 137346 time(s), ask2 called 27 time(s)

Test #71:

score: 65
Acceptable Answer
time: 902ms
memory: 100784kb

input:

1997 2799645
383424 38
646243401

output:

1 138486 28

result:

points 0.72222222220 correct, ask1 called 138486 time(s), ask2 called 28 time(s)

Test #72:

score: 90
Accepted
time: 826ms
memory: 101432kb

input:

1999 699046
383808 38
984249248

output:

1 121381 26

result:

points 1.0 correct, ask1 called 121381 time(s), ask2 called 26 time(s)

Test #73:

score: 90
Accepted
time: 890ms
memory: 101960kb

input:

1999 3857083
383808 38
248447735

output:

1 64696 28

result:

points 1.0 correct, ask1 called 64696 time(s), ask2 called 28 time(s)

Test #74:

score: 65
Acceptable Answer
time: 684ms
memory: 100536kb

input:

2000 1079818
384000 38
586453581

output:

1 139628 22

result:

points 0.72222222220 correct, ask1 called 139628 time(s), ask2 called 22 time(s)

Test #75:

score: 90
Accepted
time: 706ms
memory: 99524kb

input:

1997 1404432
383424 38
924459428

output:

1 122084 22

result:

points 1.0 correct, ask1 called 122084 time(s), ask2 called 22 time(s)

Test #76:

score: 65
Acceptable Answer
time: 774ms
memory: 99852kb

input:

1997 2700831
383424 38
526696530

output:

1 138693 23

result:

points 0.72222222220 correct, ask1 called 138693 time(s), ask2 called 23 time(s)

Test #77:

score: 65
Acceptable Answer
time: 739ms
memory: 100408kb

input:

2000 3097047
384000 38
864669608

output:

1 128001 25

result:

points 0.72222222220 correct, ask1 called 128001 time(s), ask2 called 25 time(s)

Test #78:

score: 65
Acceptable Answer
time: 915ms
memory: 100236kb

input:

1998 3569764
383616 38
128933631

output:

1 138268 30

result:

points 0.72222222220 correct, ask1 called 138268 time(s), ask2 called 30 time(s)

Test #79:

score: 65
Acceptable Answer
time: 841ms
memory: 101956kb

input:

1998 2103877
383616 38
466906710

output:

1 137292 26

result:

points 0.72222222220 correct, ask1 called 137292 time(s), ask2 called 26 time(s)

Test #80:

score: 90
Accepted
time: 775ms
memory: 99472kb

input:

1998 778278
383616 38
804912557

output:

1 109371 27

result:

points 1.0 correct, ask1 called 109371 time(s), ask2 called 27 time(s)

Test #81:

score: 90
Accepted
time: 703ms
memory: 99592kb

input:

2000 2961353
256000 36
853017067

output:

1 78023 24

result:

points 1.0 correct, ask1 called 78023 time(s), ask2 called 24 time(s)

Test #82:

score: 90
Accepted
time: 798ms
memory: 102580kb

input:

1996 2578498
255488 36
117281089

output:

1 117922 23

result:

points 1.0 correct, ask1 called 117922 time(s), ask2 called 23 time(s)

Test #83:

score: 90
Accepted
time: 860ms
memory: 100348kb

input:

1996 3937961
255488 36
793260015

output:

1 91326 31

result:

points 1.0 correct, ask1 called 91326 time(s), ask2 called 31 time(s)

Test #84:

score: 90
Accepted
time: 916ms
memory: 101680kb

input:

1998 2345897
255744 36
57491270

output:

1 108568 33

result:

points 1.0 correct, ask1 called 108568 time(s), ask2 called 33 time(s)

Test #85:

score: 90
Accepted
time: 818ms
memory: 100304kb

input:

1996 1378943
255488 36
395497116

output:

1 100184 25

result:

points 1.0 correct, ask1 called 100184 time(s), ask2 called 25 time(s)

Test #86:

score: 90
Accepted
time: 760ms
memory: 99992kb

input:

1999 2734233
255872 36
733502963

output:

1 83303 27

result:

points 1.0 correct, ask1 called 83303 time(s), ask2 called 27 time(s)

Test #87:

score: 90
Accepted
time: 806ms
memory: 102000kb

input:

1999 1863500
255872 36
1071476042

output:

1 79853 25

result:

points 1.0 correct, ask1 called 79853 time(s), ask2 called 25 time(s)

Test #88:

score: 65
Acceptable Answer
time: 780ms
memory: 100176kb

input:

1999 3838824
255872 36
335740064

output:

1 142533 26

result:

points 0.72222222220 correct, ask1 called 142533 time(s), ask2 called 26 time(s)

Test #89:

score: 90
Accepted
time: 714ms
memory: 100612kb

input:

1996 146619
255488 36
673680375

output:

1 90721 26

result:

points 1.0 correct, ask1 called 90721 time(s), ask2 called 26 time(s)

Test #90:

score: 65
Acceptable Answer
time: 835ms
memory: 101064kb

input:

1997 2897460
255616 36
1011686222

output:

1 138173 30

result:

points 0.72222222220 correct, ask1 called 138173 time(s), ask2 called 30 time(s)

Test #91:

score: 90
Accepted
time: 922ms
memory: 101064kb

input:

2000 3588803
256000 36
275917477

output:

1 120729 27

result:

points 1.0 correct, ask1 called 120729 time(s), ask2 called 27 time(s)

Test #92:

score: 90
Accepted
time: 756ms
memory: 100188kb

input:

1999 2052003
255872 36
613923323

output:

1 93735 28

result:

points 1.0 correct, ask1 called 93735 time(s), ask2 called 28 time(s)

Test #93:

score: 90
Accepted
time: 901ms
memory: 101064kb

input:

2000 597416
256000 36
951929170

output:

1 118002 31

result:

points 1.0 correct, ask1 called 118002 time(s), ask2 called 31 time(s)

Test #94:

score: 65
Acceptable Answer
time: 704ms
memory: 101464kb

input:

1997 502346
255616 36
216160425

output:

1 150017 23

result:

points 0.72222222220 correct, ask1 called 150017 time(s), ask2 called 23 time(s)

Test #95:

score: 90
Accepted
time: 699ms
memory: 101304kb

input:

1998 1639752
255744 36
892139350

output:

1 89542 24

result:

points 1.0 correct, ask1 called 89542 time(s), ask2 called 24 time(s)

Test #96:

score: 90
Accepted
time: 906ms
memory: 101348kb

input:

2000 2614645
256000 36
156370605

output:

1 84521 31

result:

points 1.0 correct, ask1 called 84521 time(s), ask2 called 31 time(s)

Test #97:

score: 90
Accepted
time: 759ms
memory: 100308kb

input:

1998 2807503
255744 36
494343684

output:

1 65480 23

result:

points 1.0 correct, ask1 called 65480 time(s), ask2 called 23 time(s)

Test #98:

score: 90
Accepted
time: 873ms
memory: 100672kb

input:

2000 3623260
256000 36
832349530

output:

1 93177 30

result:

points 1.0 correct, ask1 called 93177 time(s), ask2 called 30 time(s)

Test #99:

score: 90
Accepted
time: 668ms
memory: 100732kb

input:

1998 16016
255744 36
96613553

output:

1 65446 20

result:

points 1.0 correct, ask1 called 65446 time(s), ask2 called 20 time(s)

Test #100:

score: 90
Accepted
time: 613ms
memory: 99496kb

input:

1996 499201
255488 36
434586632

output:

1 45149 20

result:

points 1.0 correct, ask1 called 45149 time(s), ask2 called 20 time(s)

Test #101:

score: 90
Accepted
time: 793ms
memory: 100064kb

input:

1996 2183083
255488 36
772592479

output:

1 105197 25

result:

points 1.0 correct, ask1 called 105197 time(s), ask2 called 25 time(s)

Test #102:

score: 90
Accepted
time: 726ms
memory: 100336kb

input:

1996 1924199
255488 36
36823733

output:

1 90176 24

result:

points 1.0 correct, ask1 called 90176 time(s), ask2 called 24 time(s)

Test #103:

score: 90
Accepted
time: 747ms
memory: 100884kb

input:

1998 2417054
255744 36
374829580

output:

1 100506 27

result:

points 1.0 correct, ask1 called 100506 time(s), ask2 called 27 time(s)

Test #104:

score: 65
Acceptable Answer
time: 973ms
memory: 101304kb

input:

1999 966756
255872 36
712769891

output:

1 145399 31

result:

points 0.72222222220 correct, ask1 called 145399 time(s), ask2 called 31 time(s)

Test #105:

score: 65
Acceptable Answer
time: 841ms
memory: 99784kb

input:

1997 271949
255616 36
1050775738

output:

1 145738 28

result:

points 0.72222222220 correct, ask1 called 145738 time(s), ask2 called 28 time(s)

Test #106:

score: 90
Accepted
time: 730ms
memory: 99708kb

input:

1996 2634642
255488 36
315039760

output:

1 115438 21

result:

points 1.0 correct, ask1 called 115438 time(s), ask2 called 21 time(s)

Test #107:

score: 65
Acceptable Answer
time: 742ms
memory: 99952kb

input:

1997 1601116
255616 36
653012839

output:

1 145599 24

result:

points 0.72222222220 correct, ask1 called 145599 time(s), ask2 called 24 time(s)

Test #108:

score: 65
Acceptable Answer
time: 758ms
memory: 101036kb

input:

1999 1155259
255872 36
255249940

output:

1 129328 23

result:

points 0.72222222220 correct, ask1 called 129328 time(s), ask2 called 23 time(s)

Test #109:

score: 65
Acceptable Answer
time: 967ms
memory: 100976kb

input:

1999 284526
255872 36
593255787

output:

1 143326 34

result:

points 0.72222222220 correct, ask1 called 143326 time(s), ask2 called 34 time(s)

Test #110:

score: 65
Acceptable Answer
time: 787ms
memory: 99932kb

input:

1997 173135
255616 36
931228866

output:

1 139037 26

result:

points 0.72222222220 correct, ask1 called 139037 time(s), ask2 called 26 time(s)

Test #111:

score: 90
Accepted
time: 674ms
memory: 100068kb

input:

1996 2189413
127744 34
618447205

output:

1 60053 23

result:

points 1.0 correct, ask1 called 60053 time(s), ask2 called 23 time(s)

Test #112:

score: 90
Accepted
time: 866ms
memory: 101140kb

input:

1999 3781216
127936 34
956453051

output:

1 97507 29

result:

points 1.0 correct, ask1 called 97507 time(s), ask2 called 29 time(s)

Test #113:

score: 90
Accepted
time: 808ms
memory: 100748kb

input:

1996 3614412
127744 34
220684306

output:

1 105972 26

result:

points 1.0 correct, ask1 called 105972 time(s), ask2 called 26 time(s)

Test #114:

score: 90
Accepted
time: 753ms
memory: 100796kb

input:

1999 889805
127936 34
558690153

output:

1 75697 25

result:

points 1.0 correct, ask1 called 75697 time(s), ask2 called 25 time(s)

Test #115:

score: 65
Acceptable Answer
time: 1013ms
memory: 101836kb

input:

1996 989857
127744 34
896663231

output:

1 128064 31

result:

points 0.72222222220 correct, ask1 called 128064 time(s), ask2 called 31 time(s)

Test #116:

score: 90
Accepted
time: 724ms
memory: 100644kb

input:

1997 1962823
127808 34
498867565

output:

1 120177 25

result:

points 1.0 correct, ask1 called 120177 time(s), ask2 called 25 time(s)

Test #117:

score: 90
Accepted
time: 836ms
memory: 102712kb

input:

1999 3098986
127936 34
836873412

output:

1 119606 21

result:

points 1.0 correct, ask1 called 119606 time(s), ask2 called 21 time(s)

Test #118:

score: 90
Accepted
time: 883ms
memory: 101216kb

input:

2000 1712383
128000 34
101137434

output:

1 56315 28

result:

points 1.0 correct, ask1 called 56315 time(s), ask2 called 28 time(s)

Test #119:

score: 65
Acceptable Answer
time: 914ms
memory: 100208kb

input:

1997 1413465
127808 34
439110513

output:

1 132444 29

result:

points 0.72222222220 correct, ask1 called 132444 time(s), ask2 called 29 time(s)

Test #120:

score: 90
Accepted
time: 816ms
memory: 100812kb

input:

1997 567610
127808 34
777116360

output:

1 76965 26

result:

points 1.0 correct, ask1 called 76965 time(s), ask2 called 26 time(s)

Test #121:

score: 90
Accepted
time: 769ms
memory: 100420kb

input:

1998 2586018
127872 34
41347615

output:

1 62018 25

result:

points 1.0 correct, ask1 called 62018 time(s), ask2 called 25 time(s)

Test #122:

score: 90
Accepted
time: 745ms
memory: 102040kb

input:

2000 3696844
128000 34
379353461

output:

1 112782 23

result:

points 1.0 correct, ask1 called 112782 time(s), ask2 called 23 time(s)

Test #123:

score: 90
Accepted
time: 911ms
memory: 100964kb

input:

2000 3346757
128000 34
717293772

output:

1 115219 29

result:

points 1.0 correct, ask1 called 115219 time(s), ask2 called 29 time(s)

Test #124:

score: 65
Acceptable Answer
time: 837ms
memory: 100616kb

input:

2000 738225
128000 34
1055299619

output:

1 131728 25

result:

points 0.72222222220 correct, ask1 called 131728 time(s), ask2 called 25 time(s)

Test #125:

score: 90
Accepted
time: 831ms
memory: 101556kb

input:

1998 995051
127872 34
319563641

output:

1 93270 25

result:

points 1.0 correct, ask1 called 93270 time(s), ask2 called 25 time(s)

Test #126:

score: 90
Accepted
time: 766ms
memory: 102424kb

input:

1996 1342439
127744 34
657536720

output:

1 57162 23

result:

points 1.0 correct, ask1 called 57162 time(s), ask2 called 23 time(s)

Test #127:

score: 90
Accepted
time: 723ms
memory: 100220kb

input:

1998 2195569
127872 34
995542567

output:

1 107483 23

result:

points 1.0 correct, ask1 called 107483 time(s), ask2 called 23 time(s)

Test #128:

score: 90
Accepted
time: 691ms
memory: 101160kb

input:

1998 3396088
127872 34
597779668

output:

1 47849 24

result:

points 1.0 correct, ask1 called 47849 time(s), ask2 called 24 time(s)

Test #129:

score: 65
Acceptable Answer
time: 1010ms
memory: 103364kb

input:

1996 2085649
127744 34
935752747

output:

1 149501 31

result:

points 0.72222222220 correct, ask1 called 149501 time(s), ask2 called 31 time(s)

Test #130:

score: 90
Accepted
time: 633ms
memory: 100616kb

input:

1999 3989063
127936 34
199984002

output:

1 87347 20

result:

points 1.0 correct, ask1 called 87347 time(s), ask2 called 20 time(s)

Test #131:

score: 90
Accepted
time: 749ms
memory: 100204kb

input:

1996 3477880
127744 34
537989849

output:

1 126019 24

result:

points 1.0 correct, ask1 called 126019 time(s), ask2 called 24 time(s)

Test #132:

score: 90
Accepted
time: 679ms
memory: 101220kb

input:

1999 1064883
127936 34
875962927

output:

1 79720 22

result:

points 1.0 correct, ask1 called 79720 time(s), ask2 called 22 time(s)

Test #133:

score: 65
Acceptable Answer
time: 871ms
memory: 101832kb

input:

1999 194151
127936 34
140226950

output:

1 147766 28

result:

points 0.72222222220 correct, ask1 called 147766 time(s), ask2 called 28 time(s)

Test #134:

score: 90
Accepted
time: 784ms
memory: 101624kb

input:

1999 2202242
127936 34
478200029

output:

1 121962 21

result:

points 1.0 correct, ask1 called 121962 time(s), ask2 called 21 time(s)

Test #135:

score: 90
Accepted
time: 715ms
memory: 100012kb

input:

1997 1962877
127808 34
816205876

output:

1 52993 27

result:

points 1.0 correct, ask1 called 52993 time(s), ask2 called 27 time(s)

Test #136:

score: 65
Acceptable Answer
time: 887ms
memory: 100704kb

input:

1997 1084254
127808 34
80437130

output:

1 145720 29

result:

points 0.72222222220 correct, ask1 called 145720 time(s), ask2 called 29 time(s)

Test #137:

score: 65
Acceptable Answer
time: 860ms
memory: 99924kb

input:

2000 1991435
128000 34
418442977

output:

1 136145 30

result:

points 0.72222222220 correct, ask1 called 136145 time(s), ask2 called 30 time(s)

Test #138:

score: 65
Acceptable Answer
time: 857ms
memory: 100844kb

input:

1999 382653
127936 34
756448824

output:

1 145062 24

result:

points 0.72222222220 correct, ask1 called 145062 time(s), ask2 called 24 time(s)

Test #139:

score: 90
Accepted
time: 730ms
memory: 100300kb

input:

2000 3032817
128000 34
20647310

output:

1 76507 25

result:

points 1.0 correct, ask1 called 76507 time(s), ask2 called 25 time(s)

Test #140:

score: 90
Accepted
time: 743ms
memory: 101492kb

input:

1997 1864063
127808 34
696626236

output:

1 108241 23

result:

points 1.0 correct, ask1 called 108241 time(s), ask2 called 23 time(s)