Sponsors

Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 – Elimination Round 3), problem: (D) Santa Claus and a Palindrome Solution in C/C++

Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 – Elimination Round 3), problem: (D) Santa Claus and a Palindrome Solution in C/C++

 

#include<stdio.h>
#include<stdlib.h>
typedef unsigned u;
int cmp(const void*x,const void*y){return*(int*)x-*(int*)y;}
typedef struct S{int*val;u id,vali,vala;struct S*nx[26];}v;
v*alloc()
{
v*x;u i;
x=(v*)malloc(sizeof(v));
for(i=-1;++i<26;)x->nx[i]=NULL;
x->val=(int*)calloc(x->vala=1,sizeof(int));
x->vali=x->id=0;
return x;
}
char S[222222],c;v *p,*q;u alo,pai;
void F(v*x)
{
u i,j;
if(x->id)
{
j=x->id;
for(q=p;(c=S[–j]);)
{
if(q==NULL)break;
c-=’a’;
q=q->nx[(u)c];
}
if(q!=NULL)
{
qsort(q->val,q->vali,sizeof(int),cmp);
if(q==x)
{
for(j=q->vali;j>1;j-=2)
{
if(q->val[j-1]+q->val[j-2]>0)
{
pai+=(q->val[j-1]+q->val[j-2])*2;
}
else break;
}
if(j<q->vali&&q->val[j]*-2>(int)alo)
alo=q->val[j]*-2;
if(j&&q->val[j-1]*2>(int)alo)
alo=q->val[j-1]*2;
}
else
{
qsort(x->val,x->vali,sizeof(int),cmp);
i=x->vali;j=q->vali;
while(i&&j)
{
if(x->val[–i]+q->val[–j]>0)
pai+=x->val[i]+q->val[j];
}
}
}
}
for(i=-1;++i<26;)if(x->nx[i]!=NULL)F(x->nx[i]);
return;
}
int main()
{
u n,l,i,j,k=1;int val;
scanf(“%u%u”,&n,&l);
p=alloc();
for(i=-1;++i<n;)
{
scanf(“%s”,S+k);
for(j=k-1,q=p;(c=S[++j]);)
{
c-=’a’;
if(q->nx[(u)c]==NULL)q->nx[(u)c]=alloc();
q=q->nx[(u)c];
}
scanf(“%d”,&val);
if(q->vali==q->vala)
q->val=(int*)realloc(q->val,(q->vala<<=1)*sizeof(int));
q->val[q->vali++]=val;
q->id=j;k=j+1;
}
F(p);
printf(“%u\n”,(pai+alo)>>1);
return 0;
}

 

 

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...