QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#364992#7939. High Towersucup-team004#AC ✓106ms66956kbC++205.5kb2024-03-24 17:51:262024-03-24 17:51:27

Judging History

This is the latest submission verdict.

  • [2024-03-24 17:51:27]
  • Judged
  • Verdict: AC
  • Time: 106ms
  • Memory: 66956kb
  • [2024-03-24 17:51:26]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;

const int N=500100;

int n;

void calc(int*f,int*g){
    for(int i=1;i<=n;++i)
        g[i]=0;
    for(int i=1;i<n;++i){
        int mx=0;
        for(int j=i+1;j<=n;++j){
            if(max(f[i],f[j])>mx){
                ++g[i];
                ++g[j];
            }
            mx=max(mx,f[j]);
        }
    }
}


int a[N];
int ql,qr,qans;
int qid;

int mx[N*4],mn[N*4],mxid[N*4];


void bt(int o,int l,int r){
    if(l==r){
        mx[o]=mn[o]=a[l];
        mxid[o]=l;
        return;
    }
    int mid=(l+r)/2;
    bt(o*2,l,mid);
    bt(o*2+1,mid+1,r);
    mx[o]=max(mx[o*2],mx[o*2+1]);
    mxid[o]=(mx[o]==mx[o*2]?mxid[o*2]:mxid[o*2+1]);
    mn[o]=min(mn[o*2],mn[o*2+1]);
}

void query_min(int o,int l,int r){
    if(ql<=l&&r<=qr){
        qans=min(qans,mn[o]);
        return;
    }
    int mid=(l+r)/2;
    if(ql<=mid)
        query_min(o*2,l,mid);
    if(qr>mid)
        query_min(o*2+1,mid+1,r);
}
void query_max(int o,int l,int r){
    if(ql<=l&&r<=qr){
        qans=max(qans,mx[o]);
        return;
    }
    int mid=(l+r)/2;
    if(ql<=mid)
        query_max(o*2,l,mid);
    if(qr>mid)
        query_max(o*2+1,mid+1,r);
}
void query_maxid(int o,int l,int r){
    if(ql<=l&&r<=qr){
        if(mx[o]>qans){
            qans=mx[o];
            qid=mxid[o];
        }
        return;
    }
    int mid=(l+r)/2;
    if(ql<=mid)
        query_maxid(o*2,l,mid);
    if(qr>mid)
        query_maxid(o*2+1,mid+1,r);

}

int range_min(int l,int r){
    ql=l;qr=r;qans=INT_MAX;
    query_min(1,1,n);
    return qans;
}

int range_max(int l,int r){
    ql=l;qr=r;qans=0;
    query_max(1,1,n);
    return qans;
}

int range_argmax(int l,int r){
    ql=l;qr=r;qans=0;qid=0;
    query_maxid(1,1,n);
    return qid;
}

bool chk(int l,int r,int x){
    if(l>r)
        return 0;
    if(range_max(l,r)-x>r-l)
        return 1;
    if(range_min(l,r)-x<=(l==r?-1:0))
        return 1;
    return 0;
}

vector<int>work(int tl,int t,int tr,int l,int r,int x){
 //   cout<<tl<<' '<<t<<' '<<tr<<' '<<l<<' '<<r<<' '<<x<<endl;
    vector<int>ret;
    ret.push_back(t);
    int i=t,ni=tl;
    for(;ni>l;){
        int mi=i-(a[ni]-x);
        if(mi<l||mi>=ni)
            return{};
        ret.push_back(ni);
        i=ni;ni=mi;
    }
    if(ni!=i){
        if(a[ni]-x==i-ni)
            ret.push_back(ni);
    }
    i=t;ni=tr;
    for(;ni<r;){
        int mi=(a[ni]-x)+i;
        if(mi>r||mi<=ni)
            return{};
        ret.push_back(ni);
        i=ni;ni=mi;
    }
    if(ni!=i){
        if(a[ni]-x==ni-i)
            ret.push_back(ni);
    }
    sort(ret.begin(),ret.end());
    if(chk(l,ret[0]-1,x+1))
        return{};
    if(chk(ret.back()+1,r,x+1))
        return{};
    for(int i=0;i<(int)ret.size()-1;++i)
        if(chk(ret[i]+1,ret[i+1]-1,x+2))
            return{};
    return ret;
}

int ans[N];

bool solve(int l,int r,int x){
    if(l>r)
        return 1;
    if(l==r){
    //    assert(a[l]==x);
        if(a[l]!=x)
            return 0;
        ans[l]=1;
        return 1;
    }
    int t=range_argmax(l,r);
    if(a[t]==a[l])
        t=l;
    if(a[t]==a[r])
        t=r;
    if(a[t]-x>r-l)
        return 0;
    //cout<<t<<endl;
    //assert(a[t]<=x+(r-l));
    if(a[t]==x+r-l){
        ans[t]=r-l+1;
        if(!solve(l,t-1,x+1))
            return 0;
        if(!solve(t+1,r,x+1))
            return 0;
        return 1;
    }
    int s=a[t]-x;
    for(int i=0;i<=s;++i){
        int tl=t-i,tr=t+s-i;
        if(tl<l||tr>r)continue;
        if(tl==t&&tl>l)continue;
        if(tr==t&&tr<r)continue;
        auto res=work(tl,t,tr,l,r,x);
        if(res.empty())
            continue;
        //cout<<res.size()<<endl;
       // for(int j:res)
     //   
     //       cout<<j<<'-';
     //   cout<<endl;
        for(int j:res)
            ans[j]=r-l+1;
        int flag=1;
        if(!solve(l,res[0]-1,x+1))
            flag=0;
        else if(!solve(res.back()+1,r,x+1))
            flag=0;
        if(flag)
        for(int j=0;j+1<(int)res.size();++j){
            if(!solve(res[j]+1,res[j+1]-1,x+2)){
                flag=0;
                break;
            }
        }
        if(flag)
            return 1;
    }
    return 0;
}
mt19937 rng(time(0));

int f[N];
int p[N];
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;++i)
        cin>>a[i];
    bt(1,1,n);
    solve(1,n,0);
    for(int i=1;i<=n;++i)
        cout<<ans[i]<<" \n"[i==n];
    return 0;
    n=20;
    for(;;){
        int mx=rng()%n+1;
        for(int i=1;i<=n;++i)
            p[i]=rng()%mx+1;
        calc(p,a);
        for(int i=1;i<=n;++i)
            cerr<<p[i]<<" \n"[i==n];
        for(int i=1;i<=n;++i)
            cerr<<a[i]<<" \n"[i==n];
        memset(ans,0,sizeof ans);

        bt(1,1,n);
        solve(1,n,0);
        calc(ans,f);
        if(memcmp(a,f,sizeof a)){
            cout<<n<<'\n';
            for(int i=1;i<=n;++i)
                cout<<a[i]<<" \n"[i==n];
            for(int i=1;i<=n;++i)
                cout<<ans[i]<<" \n"[i==n];
            for(int i=1;i<=n;++i)
                cout<<f[i]<<" \n"[i==n];
            return 0;
        }
    }
    /*
    cin>>n;
    int mx=rng()%n+1;
    for(int i=1;i<=n;++i)
    for(int i=1;i<=n;++i)
        cin>>a[i];
    solve(1,n,0);
    for(int i=1;i<=n;++i)
        cout<<ans[i]<<" \n"[i==n];
    calc(ans,f);
    for(int i=1;i<=n;++i)
        cerr<<f[i]<<" \n"[i==n];
        */
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 14160kb

input:

6
3 3 4 2 5 1

output:

1 2 4 1 6 1

result:

ok 

Test #2:

score: 0
Accepted
time: 0ms
memory: 14144kb

input:

4
3 3 3 3

output:

1 2 3 4

result:

ok 

Test #3:

score: 0
Accepted
time: 43ms
memory: 26584kb

input:

264668
5 5 5 5 9 5 5 5 7 3 5 3 11 9 9 9 8 9 8 9 12 4 4 9 5 5 6 4 12 4 7 5 6 5 18 12 6 12 11 11 11 11 11 11 12 19 5 5 8 6 6 6 26 7 7 7 8 6 7 6 6 12 10 6 9 8 8 8 10 4 22 4 4 6 3 6 4 4 8 5 5 5 7 3 8 6 6 6 6 8 3 5 3 6 4 4 8 5 5 5 10 6 6 6 6 17 4 12 5 11 6 10 7 9 8 8 16 5 5 5 8 4 4 12 8 7 7 8 6 9 4 14 5 ...

output:

264664 1 2 3 264664 1 2 3 264664 1 264664 1 264664 6 5 4 1 3 1 7 264664 1 2 264664 1 2 4 1 264664 1 5 1 3 1 264664 9 1 8 1 2 3 4 5 6 10 264664 1 2 6 1 2 3 264664 8 1 2 8 8 8 1 8 17 17 1 5 1 2 3 17 17 264664 1 2 264664 1 264664 1 2 264664 1 2 3 264664 1 264664 1 2 3 4 264664 1 264664 1 264664 1 2 264...

result:

ok 

Test #4:

score: 0
Accepted
time: 69ms
memory: 26584kb

input:

409115
2 4 3 7 4 5 4 7 3 6 4 4 7 4 4 6 3 11 6 6 6 9 6 6 6 11 3 10 8 5 8 7 7 7 10 3 5 3 8 6 6 6 6 8 3 8 6 6 6 6 10 5 5 5 8 4 4 8 4 5 4 7 3 5 3 6 4 4 8 5 5 5 9 4 5 4 8 4 4 7 4 4 8 5 5 5 8 4 4 7 4 4 6 3 9 4 7 6 6 6 9 3 6 4 4 28 7 7 7 12 8 8 9 7 12 7 7 12 8 8 9 7 9 24 7 7 7 8 4 34 8 8 8 8 8 10 5 5 13 4 ...

output:

409114 409114 1 409114 1 3 1 409114 1 409114 1 2 409114 1 2 409114 1 409114 1 2 3 7 1 2 3 409114 1 409114 6 1 5 1 2 3 409114 1 409114 1 409114 1 2 3 4 409114 1 409114 1 2 3 4 409114 1 2 3 409114 1 2 409114 1 3 1 409114 1 409114 1 409114 1 2 409114 1 2 3 409114 1 3 1 409114 1 2 409114 1 2 409114 1 2 ...

result:

ok 

Test #5:

score: 0
Accepted
time: 62ms
memory: 27924kb

input:

430320
2 5 4 4 8 5 5 5 18 7 7 7 9 6 7 5 14 5 7 6 6 18 4 5 4 14 6 6 6 10 7 7 7 7 31 4 12 7 7 10 8 8 9 6 13 5 7 5 7 5 7 5 7 5 5 28 5 6 5 7 4 12 6 6 6 6 13 4 8 6 6 7 5 11 4 4 7 4 4 6 3 7 5 5 5 10 4 6 5 5 9 4 4 8 5 5 5 7 3 6 4 4 8 5 5 5 15 7 7 8 6 8 11 6 6 6 18 5 5 8 6 6 6 11 4 4 6 3 27 12 8 8 8 9 8 7 8...

output:

430317 430317 1 2 430317 1 2 3 430317 7 1 2 7 1 7 7 12 1 4 1 2 430317 1 3 1 430317 1 2 3 8 1 2 3 4 430317 20 20 7 1 7 1 2 7 7 20 1 20 1 20 1 20 1 20 1 20 430317 1 3 1 5 1 430317 1 2 3 4 430317 1 6 1 2 4 1 430317 1 2 430317 1 2 430317 1 430317 1 2 3 430317 1 4 1 2 430317 1 2 430317 1 2 3 430317 1 430...

result:

ok 

Test #6:

score: 0
Accepted
time: 82ms
memory: 26752kb

input:

445524
4 4 6 4 4 32 6 6 6 10 7 7 7 21 7 10 9 9 9 11 10 9 9 9 11 7 7 20 5 6 5 45 8 11 10 10 10 11 13 7 7 14 7 6 6 19 5 6 5 35 6 6 6 11 8 7 8 7 9 9 7 7 7 8 5 19 3 5 3 17 5 7 6 6 15 6 6 11 6 9 8 8 8 64 6 6 7 5 12 8 8 8 8 12 7 7 7 11 6 7 6 10 6 6 10 7 7 7 17 13 13 13 13 11 13 12 12 13 19 6 9 7 8 7 15 9 ...

output:

1 2 5 1 2 445517 25 1 2 25 1 2 3 25 1 5 1 2 3 13 13 1 2 3 13 1 13 25 1 3 1 445517 1 5 1 2 3 6 9 1 2 13 13 1 13 17 1 3 1 445517 15 1 2 15 4 1 3 1 15 15 1 2 3 5 1 445517 1 445517 1 445517 1 4 1 2 13 1 2 8 1 5 1 2 3 445517 1 2 4 1 48 1 2 3 4 48 1 2 3 48 1 3 1 48 1 2 48 1 2 3 48 8 7 6 5 1 4 1 2 9 48 1 5...

result:

ok 

Test #7:

score: 0
Accepted
time: 89ms
memory: 28260kb

input:

481648
4 4 13 8 10 9 9 11 7 11 11 11 74 4 13 8 8 8 12 9 9 9 9 13 48 28 18 11 11 18 13 14 13 14 16 12 12 28 16 14 14 14 16 13 13 16 17 9 30 7 24 16 11 11 16 14 14 14 14 14 18 9 10 11 10 10 10 22 49 5 7 5 5 69 4 8 6 7 6 7 21 8 8 8 9 9 8 8 8 12 14 5 5 17 4 4 19 5 6 5 10 7 7 7 13 9 8 8 8 9 6 131 10 10 1...

output:

1 2 12 1 4 1 2 6 1 7 8 9 481631 60 60 1 2 3 8 1 2 3 4 60 60 43 11 1 2 10 1 3 1 4 7 1 2 22 7 1 2 3 6 1 2 8 10 1 43 1 43 16 1 2 8 1 2 3 4 5 16 1 16 16 1 2 16 43 60 1 60 1 60 481631 1 6 1 3 1 4 481631 8 1 2 8 8 1 2 8 9 12 1 2 481631 1 2 481631 1 3 1 14 1 2 3 14 6 1 2 3 5 1 481631 10 1 2 10 1 2 3 10 1 1...

result:

ok 

Test #8:

score: 0
Accepted
time: 80ms
memory: 27152kb

input:

421202
5 5 7 5 5 10 4 5 4 43 5 16 13 10 10 13 11 11 11 13 15 7 7 34 11 9 9 11 9 9 12 6 14 6 13 6 11 7 10 9 9 9 71 8 8 8 8 13 8 8 9 7 12 7 7 13 8 9 8 10 7 16 10 9 10 9 10 10 31 6 6 12 9 9 9 9 9 10 4 68 7 7 7 8 13 6 12 7 11 8 10 9 9 31 6 9 8 8 8 12 7 7 10 7 7 10 7 7 7 36 4 6 5 5 34 5 6 5 29 9 9 9 9 9 ...

output:

1 2 5 1 2 9 1 3 1 421192 1 13 7 1 2 6 1 2 3 8 11 1 2 32 6 1 2 5 1 2 8 1 18 1 18 1 7 1 5 1 2 3 421192 25 1 2 3 25 1 2 4 1 25 1 2 25 1 3 1 5 1 25 4 1 3 1 5 25 36 1 2 36 1 2 3 4 5 36 36 421192 13 1 2 13 13 1 8 1 6 1 4 1 2 29 1 5 1 2 3 15 1 2 15 1 2 15 1 2 15 421192 1 4 1 2 421192 1 3 1 27 23 1 2 3 4 23...

result:

ok 

Test #9:

score: 0
Accepted
time: 81ms
memory: 27224kb

input:

480658
15 8 8 8 10 7 7 15 8 8 9 7 9 16 3 40 5 5 9 7 7 7 15 11 9 11 10 10 11 11 14 6 6 11 7 7 7 8 5 27 3 11 6 7 6 7 9 5 5 13 4 5 4 8 4 4 6 3 10 5 8 7 7 7 8 18 9 7 7 9 7 7 11 5 5 27 7 7 7 7 12 8 8 8 8 13 7 7 7 8 5 43 5 5 8 6 6 24 9 10 9 11 8 12 7 17 8 10 9 9 14 9 9 9 9 22 4 42 5 5 16 11 8 10 9 10 8 12...

output:

13 1 2 3 6 1 2 12 1 2 4 1 5 15 1 480647 23 1 23 1 2 3 23 5 1 4 1 2 6 7 23 1 2 23 1 2 3 5 1 480647 1 480647 1 3 1 4 7 1 2 480647 1 3 1 480647 1 2 480647 1 480647 1 5 1 2 3 6 480647 6 1 2 5 1 2 9 1 2 480647 15 1 2 3 15 1 2 3 4 15 1 2 3 5 1 480647 25 1 25 1 2 25 1 3 1 5 1 7 1 17 1 4 1 2 17 1 2 3 17 25 ...

result:

ok 

Test #10:

score: 0
Accepted
time: 62ms
memory: 26248kb

input:

430417
5 5 5 27 7 7 7 11 8 7 8 7 24 8 8 12 8 10 9 9 16 8 9 8 9 16 34 4 5 4 8 5 5 5 430416 5 5 8 5 6 5 17 6 6 6 11 5 8 6 7 6 18 73 6 8 7 7 33 9 9 11 9 9 15 8 10 9 9 29 10 10 13 10 11 10 17 11 11 11 11 19 8 8 72 8 12 11 10 11 10 12 24 10 11 10 16 12 12 12 13 10 17 8 17 42 8 9 8 11 8 8 22 9 9 12 10 10 ...

output:

1 2 3 26 1 2 3 8 4 1 3 1 22 1 2 7 1 4 1 2 12 1 3 1 4 13 34 1 3 1 7 1 2 3 430417 1 2 6 1 3 1 16 1 2 3 9 1 5 1 3 1 430382 430382 1 4 1 2 30 1 2 5 1 2 10 1 4 1 2 25 1 2 6 1 3 1 11 1 2 3 4 14 1 2 70 1 6 4 1 3 1 7 20 1 3 1 9 1 2 3 5 1 11 1 12 39 1 3 1 6 1 2 18 1 2 6 1 2 3 11 1 3 1 4 430382 1 2 23 4 1 3 1...

result:

ok 

Test #11:

score: 0
Accepted
time: 73ms
memory: 26328kb

input:

480452
5 9 8 8 8 8 9 13 5 6 5 6 22 9 7 9 8 8 9 9 10 3 480451 5 5 8 6 6 6 10 4 4 31 6 7 6 7 22 7 9 8 8 15 10 9 10 9 11 7 18 7 7 7 231 10 10 10 10 11 7 30 9 14 13 11 13 12 12 15 8 24 11 11 11 12 9 15 10 10 10 40 13 10 10 13 11 11 11 13 14 6 41 9 7 7 8 6 113 12 15 14 14 14 15 16 10 37 23 15 15 15 21 15...

output:

1 6 1 2 3 4 7 12 1 3 1 4 22 5 1 4 1 2 6 7 9 1 480452 1 2 6 1 2 3 9 1 2 480429 1 3 1 4 20 1 4 1 2 11 4 1 3 1 6 1 15 1 2 3 480429 1 2 3 4 6 1 26 1 7 5 1 4 1 2 9 1 19 1 2 3 5 1 9 1 2 3 37 7 1 2 6 1 2 3 8 10 1 208 208 1 2 4 1 208 1 5 1 2 3 6 8 1 30 14 1 2 3 10 1 2 6 1 2 3 13 1 2 21 1 6 4 1 3 1 41 1 2 3 ...

result:

ok 

Test #12:

score: 0
Accepted
time: 61ms
memory: 28164kb

input:

448826
6 6 6 10 7 7 7 7 26 8 8 8 15 8 10 9 9 12 8 8 16 5 18 5 5 28 3 3 52 5 6 5 17 6 8 7 7 14 6 10 8 8 9 7 24 5 5 9 5 7 6 6 448797 3 18 17 6 9 7 8 7 17 7 12 9 10 9 11 8 12 125 12 10 10 11 9 12 8 16 9 9 9 9 18 6 6 68 9 12 11 11 11 13 8 36 11 18 15 15 15 15 17 13 13 19 10 20 9 29 16 13 13 13 13 16 12 ...

output:

1 2 3 8 1 2 3 4 25 1 2 3 11 1 4 1 2 7 1 2 13 1 16 1 2 28 1 2 448826 1 3 1 15 1 4 1 2 11 1 6 1 2 4 1 23 1 2 7 1 4 1 2 448826 1 17 15 1 5 1 3 1 14 1 7 1 3 1 5 1 8 448773 7 1 2 4 1 6 1 12 1 2 3 4 15 1 2 106 1 5 1 2 3 7 1 31 1 9 1 2 3 4 7 1 2 11 1 13 1 23 9 1 2 3 4 8 1 2 3 49 1 3 1 17 1 2 4 1 7 1 2 9 1 ...

result:

ok 

Test #13:

score: 0
Accepted
time: 71ms
memory: 27788kb

input:

466137
1 466136 5 5 5 5 6 6 4 5 4 10 6 6 6 6 12 7 7 7 7 7 10 4 4 8 5 5 5 9 5 5 5 12 6 6 6 8 5 5 16 5 5 9 7 7 7 7 13 5 5 5 11 7 6 6 7 5 11 5 5 5 10 4 6 5 5 14 9 9 9 9 8 9 8 12 4 4 9 5 5 6 4 18 4 5 6 5 11 9 9 9 9 9 9 16 4 4 12 9 6 6 9 7 7 7 11 3 7 4 5 4 7 3 20 6 6 6 18 6 7 6 9 6 12 8 8 8 10 7 7 22 5 5...

output:

1 466137 466135 1 2 3 466135 466135 1 3 1 466135 1 2 3 4 466135 1 2 3 4 5 466135 1 2 466135 1 2 3 466135 1 2 3 466135 1 2 3 6 1 2 466135 1 2 7 1 2 3 4 466135 1 2 3 466135 5 1 2 4 1 466135 1 2 3 466135 1 4 1 2 466135 7 6 5 4 1 3 1 466135 1 2 466135 1 2 4 1 466135 11 11 11 1 11 1 2 3 4 5 11 466135 1 2...

result:

ok 

Test #14:

score: 0
Accepted
time: 75ms
memory: 28028kb

input:

447669
3 3 29 3 6 5 5 13 10 9 9 9 10 7 10 12 4 6 4 8 5 6 5 11 7 5 7 6 6 447668 3 6 4 5 4 11 6 6 6 6 7 5 4 4 9 4 6 5 5 11 5 5 6 4 21 4 5 9 7 7 8 6 13 7 8 7 8 9 4 46 4 9 6 7 7 6 11 6 6 9 6 6 14 6 11 8 10 9 9 10 18 6 9 8 8 9 6 11 4 40 5 5 6 5 6 5 6 4 21 4 12 7 7 7 11 8 8 8 8 19 4 8 7 7 7 7 19 4 12 5 11...

output:

1 2 29 26 26 1 2 26 6 1 2 3 5 1 7 26 1 26 1 26 1 3 1 26 5 1 4 1 2 447669 1 5 1 3 1 447639 1 2 3 4 447639 447639 1 2 447639 1 4 1 2 447639 1 2 4 1 447639 14 14 14 1 2 4 1 14 1 3 1 4 14 14 447639 29 29 4 4 4 4 29 1 2 29 1 2 29 1 7 1 4 1 2 5 29 6 6 1 2 6 6 29 29 447639 8 1 8 8 8 1 8 8 447639 1 10 1 2 3...

result:

ok 

Test #15:

score: 0
Accepted
time: 66ms
memory: 26452kb

input:

408826
1 408825 3 4 3 7 4 4 26 18 12 9 9 12 9 10 9 17 10 10 10 10 11 6 23 6 6 8 6 6 25 3 9 5 6 5 7 4 10 4 4 13 4 9 8 8 8 8 9 4 20 6 6 6 9 6 6 8 5 5 21 5 5 11 9 9 9 9 9 9 26 4 9 8 8 8 8 15 7 7 7 10 7 7 7 28 11 11 8 8 11 8 9 8 13 5 5 19 5 5 7 5 5 10 4 4 22 5 8 7 7 7 12 7 7 7 13 9 9 9 9 9 10 4 21 3 11 ...

output:

1 408826 1 3 1 408824 1 2 408824 15 14 1 2 6 1 3 1 14 1 2 3 4 14 14 21 1 2 5 1 2 408824 1 408824 1 3 1 5 1 408824 1 2 408824 8 8 1 2 3 4 8 8 408824 9 1 2 9 1 2 9 1 9 408824 1 2 9 1 2 3 4 5 6 408824 14 14 1 2 3 4 14 1 2 3 7 1 2 3 408824 8 7 1 2 6 1 3 1 11 1 2 408824 1 2 5 1 2 408824 1 2 408824 1 5 1 ...

result:

ok 

Test #16:

score: 0
Accepted
time: 89ms
memory: 26884kb

input:

486362
2 8 5 5 5 7 4 4 10 2 3 486351 5 5 5 6 14 9 7 7 9 7 7 13 5 6 6 5 27 11 6 7 6 9 6 8 6 6 15 4 5 4 6 5 4 4 15 5 5 6 6 5 9 6 7 6 7 25 6 6 8 6 6 13 8 8 8 8 9 4 49 27 9 27 10 14 12 13 12 16 12 12 14 11 18 11 12 12 13 12 13 11 27 27 28 8 7 7 7 36 7 7 7 8 5 54 4 19 7 7 7 8 11 10 8 9 9 8 14 6 7 7 6 23 ...

output:

1 8 1 2 3 6 1 2 486362 1 486362 486362 16 1 2 16 16 6 1 2 5 1 2 11 4 4 4 4 486350 9 1 3 1 8 1 8 1 8 486350 1 3 1 486350 486350 1 2 486350 10 1 10 10 1 10 1 3 1 10 486350 1 2 5 1 2 12 1 2 3 4 12 12 486350 28 1 20 18 18 1 3 1 18 1 2 18 1 18 7 7 7 7 1 7 7 21 22 28 28 1 2 28 34 1 2 3 5 1 486350 1 17 15 ...

result:

ok 

Test #17:

score: 0
Accepted
time: 64ms
memory: 24940kb

input:

444506
1 444505 2 3 22 4 10 9 7 8 8 7 15 7 7 9 7 7 14 6 7 7 6 8 23 3 6 4 4 13 10 10 10 10 10 10 10 10 16 7 5 7 6 6 10 4 4 10 7 7 7 7 7 9 3 8 6 6 6 6 10 4 5 4 7 3 7 5 5 5 9 5 5 5 7 3 6 4 4 6 3 5 3 8 6 6 6 6 8 3 5 3 5 3 8 6 6 6 6 8 3 5 3 6 4 4 8 5 5 5 13 9 9 9 9 9 9 9 12 4 4 10 7 5 7 6 6 9 3 6 4 4 9 6...

output:

1 444506 444504 444504 444504 19 19 5 4 4 4 4 19 1 2 5 1 2 19 4 4 4 4 19 444504 1 444504 1 2 444504 1 2 3 4 5 6 7 8 444504 5 1 4 1 2 444504 1 2 444504 1 2 3 4 5 444504 1 444504 1 2 3 4 444504 1 3 1 444504 1 444504 1 2 3 444504 1 2 3 444504 1 444504 1 2 444504 1 444504 1 444504 1 2 3 4 444504 1 44450...

result:

ok 

Test #18:

score: 0
Accepted
time: 66ms
memory: 28132kb

input:

416777
1 416776 4 4 4 8 4 5 4 7 3 7 5 5 5 11 7 7 7 7 7 10 4 4 8 5 5 5 9 4 5 4 9 5 5 5 11 6 6 6 7 4 10 4 4 10 7 7 7 7 7 11 5 5 5 8 4 4 8 5 5 5 11 5 5 7 5 5 11 5 5 5 8 4 4 7 4 4 7 4 4 8 5 5 5 8 4 4 7 4 4 8 5 5 5 10 6 6 6 6 13 8 8 8 7 8 7 11 4 4 6 3 6 4 4 7 4 4 9 6 6 6 6 12 7 5 7 6 6 10 4 4 6 3 5 3 6 4...

output:

1 416777 416775 1 2 416775 1 3 1 416775 1 416775 1 2 3 416775 1 2 3 4 5 416775 1 2 416775 1 2 3 416775 1 3 1 416775 1 2 3 416775 1 2 3 5 1 416775 1 2 416775 1 2 3 4 5 416775 1 2 3 416775 1 2 416775 1 2 3 416775 1 2 5 1 2 416775 1 2 3 416775 1 2 416775 1 2 416775 1 2 416775 1 2 3 416775 1 2 416775 1 ...

result:

ok 

Test #19:

score: 0
Accepted
time: 0ms
memory: 13896kb

input:

15
7 7 7 7 9 5 5 11 4 4 13 3 4 2 14

output:

1 2 3 4 7 1 2 10 1 2 14 1 14 14 15

result:

ok 

Test #20:

score: 0
Accepted
time: 0ms
memory: 13852kb

input:

17
7 7 7 7 9 5 5 11 4 4 13 3 5 3 4 2 16

output:

1 2 3 4 7 1 2 10 1 2 16 1 16 1 16 16 17

result:

ok 

Test #21:

score: 0
Accepted
time: 2ms
memory: 13904kb

input:

15
9 8 8 9 7 10 5 12 5 5 13 3 13 14 1

output:

5 1 2 4 1 7 1 10 1 2 12 1 13 15 1

result:

ok 

Test #22:

score: 0
Accepted
time: 0ms
memory: 14144kb

input:

15
2 6 5 5 5 8 4 4 4 11 2 5 3 3 3

output:

9 9 1 2 3 9 1 2 9 15 1 15 1 2 15

result:

ok 

Test #23:

score: 0
Accepted
time: 80ms
memory: 52600kb

input:

500000
499996 499995 499994 499993 499992 499991 499990 499989 499988 499987 499986 499985 499984 499983 499982 499981 499980 499979 499978 499977 499976 499975 499974 499973 499972 499971 499970 499969 499968 499967 499966 499965 499964 499963 499962 499961 499960 499959 499958 499957 499956 499955...

output:

499996 499993 499990 499987 499984 499981 499978 499975 499972 499969 499966 499963 499960 499957 499954 499951 499948 499945 499942 499939 499936 499933 499930 499927 499924 499921 499918 499915 499912 499909 499906 499903 499900 499897 499894 499891 499888 499885 499882 499879 499876 499873 499870...

result:

ok 

Test #24:

score: 0
Accepted
time: 84ms
memory: 53344kb

input:

500000
2 3 2 499999 3 499996 5 499995 7 499994 9 499993 11 499992 13 499991 15 499990 17 499989 19 499988 21 499987 23 499986 25 499985 27 499984 29 499983 31 499982 33 499981 35 499980 37 499979 39 499978 41 499977 43 499976 45 499975 47 499974 49 499973 51 499972 53 499971 55 499970 57 499969 59 4...

output:

1 3 1 500000 1 499995 1 499992 1 499989 1 499986 1 499983 1 499980 1 499977 1 499974 1 499971 1 499968 1 499965 1 499962 1 499959 1 499956 1 499953 1 499950 1 499947 1 499944 1 499941 1 499938 1 499935 1 499932 1 499929 1 499926 1 499923 1 499920 1 499917 1 499914 1 499911 1 499908 1 499905 1 499902...

result:

ok 

Test #25:

score: 0
Accepted
time: 76ms
memory: 66316kb

input:

500000
250000 250000 250001 249999 250002 249998 250003 249997 250004 249996 250005 249995 250006 249994 250007 249993 250008 249992 250009 249991 250010 249990 250011 249989 250012 249988 250013 249987 250014 249986 250015 249985 250016 249984 250017 249983 250018 249982 250019 249981 250020 249980...

output:

1 2 4 1 6 1 8 1 10 1 12 1 14 1 16 1 18 1 20 1 22 1 24 1 26 1 28 1 30 1 32 1 34 1 36 1 38 1 40 1 42 1 44 1 46 1 48 1 50 1 52 1 54 1 56 1 58 1 60 1 62 1 64 1 66 1 68 1 70 1 72 1 74 1 76 1 78 1 80 1 82 1 84 1 86 1 88 1 90 1 92 1 94 1 96 1 98 1 100 1 102 1 104 1 106 1 108 1 110 1 112 1 114 1 116 1 118 1...

result:

ok 

Test #26:

score: 0
Accepted
time: 106ms
memory: 66956kb

input:

500000
249759 249759 249760 249758 249761 249757 249762 249756 249763 249755 249764 249754 249765 249753 249766 249752 249767 249751 249768 249750 249769 249749 249770 249748 249771 249747 249772 249746 249773 249745 249774 249744 249775 249743 249776 249742 249777 249741 249778 249740 249779 249739...

output:

1 2 4 1 6 1 8 1 10 1 12 1 14 1 16 1 18 1 20 1 22 1 24 1 26 1 28 1 30 1 32 1 34 1 36 1 38 1 40 1 42 1 44 1 46 1 48 1 50 1 52 1 54 1 56 1 58 1 60 1 62 1 64 1 66 1 68 1 70 1 72 1 74 1 76 1 78 1 80 1 82 1 84 1 86 1 88 1 90 1 92 1 94 1 96 1 98 1 100 1 102 1 104 1 106 1 108 1 110 1 112 1 114 1 116 1 118 1...

result:

ok 

Extra Test:

score: 0
Extra Test Passed