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

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

Codeforces Round #180 (Div. 2)

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

B. Sail

ざっくりと大意

・(\(s_x\),\(s_y\))から(\(e_x\),\(e_y\))へ移動したい
・スタートと目的地の座標が違うことは保証されている
・iの風向きで移動したり、錨をおろしてその場に留まったりで移動完了の最短はいつか?

方針のようなもの

・スタートと目的地の座標の差と、風向きで風向きが足りているかどうか

t,sx,sy,ex,ey=map(int,raw_input().split())
w=raw_input()
mx=ex-sx
my=ey-sy
if (mx>0 and mx>w.count('E')) or (mx<0 and -mx>w.count('W')):
    print -1
    exit()
if (my>0 and my>w.count('N')) or (my<0 and -my>w.count('S')):
    print -1
    exit()
ans=chk=0
for i in w:
    ans+=1
    if mx>0 and i=='E':
        mx-=1
    if mx<0 and i=='W':
        mx+=1
    if my>0 and i=='N':
        my-=1
    if my<0 and i=='S':
        my+=1
    if mx==my==0:
        print ans
        exit()