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;
}

 

 

curl-programming-lang 1.0.2

Introduction to curl-programming-lang 1.0.2 The open-source developer ecosystem continues to...

Betty Gilpin Says She...

Acclaimed actress Betty Gilpin is known for her fearless...

curl-programming-lang 1.0.2

Introduction to curl-programming-lang 1.0.2 The open-source developer ecosystem continues to thrive with the introduction of innovative tools designed to simplify software creation. A fascinating new...

Why Everyone is Obsessed with the Blind Spot Mirrors

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Magnetic Spice Rack

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Webcam Cover Slide

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Magnetic Cabinet Locks

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Betty Gilpin Says She Was ‘Freaked Out’ Over Prosthetic Genitalia for ‘Office Romance’ Birth Scene

Acclaimed actress Betty Gilpin is known for her fearless performances, but a specific prop on the set of her latest film pushed her well...

Why Everyone is Obsessed with the Microfiber Hair Towel

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Vegetable Chopper Pro

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

How Nature Imagined the Figment of You

How Nature Imagined the Figment of You: Alan Lightman on Existential Probability In an era marked by rapid technological shifts and constant digital noise, a...