Sponsors

Codeforces Round #384 (Div. 2), problem: (E) Vladik and cards Solution in C/C++

#include <stdio.h>
#include <string.h>
#define MIN(X,Y) ((X)<(Y) ? (X) : (Y))

int n,c[1010],r[1010][10][1010],dp[10][300][1010];
int solve(int aver,int c,int b,int k);

int main(void)
{
    //freopen("cards.in","r",stdin);
    //freopen("cards.out","w",stdout);
    scanf("%d",&n);
    int i,j,k;
    for(i=1;i<=n;i++)
        scanf("%d",&c[i]);
    memset(r,-1,sizeof(r));
    int s;
    for(i=1;i<=n;i++)
        for(j=1;j<=8;j++)
        {
            r[i][j][s=0]=i-1;
            for(k=i;k<=n;k++)
                if(c[k]==j) r[i][j][++s]=k;
        }
    int min=1,max=n,m,t;
    while(min<max)
    {
        m=(min+max+1)/2;
        memset(dp,-1,sizeof(dp));
        if(solve(m/8,m%8,0,1)<=n) min=m;
        else max=m-1;
    }
    printf("%d\n",min);
    return 0;
}

int solve(int aver,int c,int b,int k)
{
    if(dp[c][b][k]>=0) return dp[c][b][k];
    int t=(1<<8)-1;
    if( (t&b)==t && !c ) return dp[c][b][k]=k-1;
    else if((t&b)==t) return dp[c][b][k]=n+1;
    dp[c][b][k]=n+1;
    int i;
    for(i=0;i<8;i++)
        if((b&(1<<i))==0)
        {
            if(r[k][i+1][aver]>=0)
                dp[c][b][k]=MIN(dp[c][b][k],solve(aver,c,b|(1<<i),r[k][i+1][aver]+1));
            if( c && r[k][i+1][aver+1]>=0 )
                dp[c][b][k]=MIN(dp[c][b][k],solve(aver,c-1,b|(1<<i),r[k][i+1][aver+1]+1));
        }
    return dp[c][b][k];
}

Can octopus get attached...

Do Octopuses Form Genuine Bonds with Humans? The Nuanced...

News From Nancy 1/9/2026...

Five Years After the Insurrection: Reflecting on January 6th...

OpenAI Hires Co-Founders of...

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI...

Do ferrets cough up...

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many...

Lenovo goes all in...

Lenovo's AI Leap at CES 2026: The Future Is...

Why 99% of scientists...

The Unanimous Truth: Why 99% of Scientists Believe in...

Can octopus get attached to humans?

Do Octopuses Form Genuine Bonds with Humans? The Nuanced Answer The question of whether an octopus can genuinely attach itself to a human has captivated...

News From Nancy 1/9/2026 — Save Our Health Care

Five Years After the Insurrection: Reflecting on January 6th and the Fight for Health Care The latest update from the “News From Nancy” series, dated...

OpenAI Hires Co-Founders of AI-Powered Tool Convogo

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI Coaching and HR The global race for top artificial intelligence talent continues to heat up, and...

Do ferrets cough up hairballs?

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many small pet owners, the sight or sound of a cat coughing up a hairball is...

Lenovo goes all in on AI with concepts at CES 2026

Lenovo's AI Leap at CES 2026: The Future Is Conceptual CES is renowned for launching the must-have gadgets of the year, but the annual tech...

Why 99% of scientists believe in evolution

The Unanimous Truth: Why 99% of Scientists Believe in Evolution In the public discourse, the debate between evolutionary theory and creationism often appears balanced. However,...

Charles Cross agrees to four-year extension with Seahawks

Charles Cross Secures Future with Massive Four-Year Extension with Seahawks The Seattle Seahawks organization demonstrated its commitment to building a formidable foundation by securing one...

Samsung Display Unveils New OLED Tech for Robots & Wearables at CES 2026

Samsung Display Prepares to Dazzle CES 2026 with Next-Gen OLED Innovations As the tech world gears up for CES 2026, all eyes are turning toward...

What do male octopus do after mating?

The Fateful Finale: What Happens to Male Octopuses After Mating? The ocean is home to countless wonders, but few natural phenomena are as dramatically tragic...