CF1665

· · 个人记录

在fr的推荐下 头一次打了CF,感觉被开阔了啊,没退役那会总是害怕英文水平不够,倒也是多想了。

断断续续的,就开始打了。起初还在看gemini,昨天又赌了1000块还上了热搜是我没想到的。后来妹子找我听歌,于是就把直播间关了。

中午点外卖剩了一整碗凉皮,晚上十一点多开盖,有一种奇怪的口感。我万万没想到凉皮也会有类似面条的性质,不能久放(太缺乏生活常识了)。

回归正题,关于这次比赛。

    read(n);
    space(1),space(n-3),space(1),enter(1);
    read(n);
    if(n==1){
        read(a[1]);
        enter(0);
        continue;
    }
    memset(a,0,sizeof(a));
    memset(m,0,sizeof(m));
    memset(cnt,0,sizeof(cnt));
    rec=0;
    int x,ans=0;
    for(int i=1;i<=n;i++) read(a[i]),m[i]=a[i];
    sort(m+1,m+1+n);
    sort(a+1,a+1+n);
    tot=unique(m+1,m+1+n)-(m+1);
//  for(int i=1;i<=tot;i++) space(m[i]);
//  putchar('\n');
    for(int i=1,j=1;i<=n&&j<=tot;i++){
    //  space(a[i]),enter(m[j]);
        if(a[i]==m[j]) cnt[j]++;
        else cnt[++j]++;
        if(cnt[j]>rec) rec=cnt[j];
    }
//  puts("done");
    x=rec;
    while(x*2<n){
            ans+=1+x;
        x<<=1;
    }
    if(x<n) ans+=n-x+1;
    enter(ans);