読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.111 あばばばば

問題はこちら
No.111 あばばばば - yukicoder

サンプルを見ればなんとなく((L-1)/2)^2だろうとの予測はつくけれど一応考察
長さ奇数の部分列は必ず回文になり、逆に回文ならその長さは奇数
長さLの文字列の中に長さMの文字列はL-M+1個あるので
Σ[i=0...(L-1)/2](L-(2*i+1)+1)=L(L-1)/2-(L-1)/2*(L+1)/2=((L-1)/2)^2

ということで

int main(){
	int a;
	scanf("%d",&a);
	a--;
	printf("%ld",1L*a*a/4);
	return 0;
}

未定義動作でどん

a;main(){a=scanf("%d",&a)>printf("%ld",1L*--a*a/4);}

52B