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

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #224 (Div. 2)

はい。
http://codeforces.com/contest/382

A. Ksenia and Pan Scales

ざっくりと大意

・2行目の要素を追加して | 区切りで左右の文字数を等しく出来るか??

方針のようなもの

・Impossibleになるケースは先に判定して、それ以外は左右均等になるようにふる。

w=map(str,raw_input().split('|'))
s=raw_input()
sl=len(s)
l,r=len(w[0]),len(w[1])
x,y=max(l,r),min(l,r)
t=sl+x+y
if t%2 or x>y+sl:
    print 'Impossible'
else:
    ladd=t/2-l
    if r==t/2:
        print w[0]+s+'|'+w[1]
    elif l==t/2:
        print w[0]+'|'+w[1]+s
    else:
        print w[0]+s[:ladd]+'|'+w[1]+s[ladd:]

左右の文字数と追加の文字数の総和が奇数か、長い方の文字数>短い方の文字数+追加の文字数 だとImpossible。あとは左右にバラけて付け足すか、どちらかにだけ付け足して終わりになるかを出力。