CF743A Vladik and flights
题目描述
Vladik 是一名竞赛程序员。今年他打算赢得国际信息学奥林匹克竞赛。但这并不像听起来那样容易:Vladik 现在面临的问题是,如何以最低的花费到达奥林匹克竞赛现场。
Vladik 知道有 $n$ 个机场。所有机场都位于一条直线上。每个机场的唯一编号从 $1$ 到 $n$,Vladik 的家就在编号为 $a$ 的机场旁边,而奥林匹克竞赛的举办地则在编号为 $b$ 的机场旁边。有可能 Vladik 的家和奥林匹克竞赛的举办地在同一个机场附近。
为了前往奥林匹克竞赛,Vladik 可以在任意两座机场之间飞行任意多次,但他必须从 $a$ 号机场出发,并在 $b$ 号机场结束行程。
每个机场隶属于两家公司之一。如果第 $i$ 个机场和第 $j$ 个机场属于同一家公司,则从 $i$ 号机场飞到 $j$ 号机场的费用为 $0$;如果属于不同公司,则费用为 $|i-j|$。
请输出 Vladik 参加奥林匹克竞赛需要支付的最小费用。
输入格式
第一行包含三个整数 $n$、$a$ 和 $b$($1 \leq n \leq 10^{5}$,$1 \leq a, b \leq n$),分别表示机场的数量、Vladik 出发的机场编号以及他要到达的机场编号。
第二行包含一个长度为 $n$ 的字符串,仅由字符 $0$ 和 $1$ 组成。如果该字符串第 $i$ 个字符为 $0$,则第 $i$ 个机场属于第一家公司,否则属于第二家公司。
输出格式
输出一个整数,表示 Vladik 参加奥林匹克竞赛所需支付的最小费用。
说明/提示
在第一个样例中,Vladik 可以先飞到第 $2$ 号机场,费用为 $|1-2|=1$(因为这两个机场属于不同的公司),然后从第 $2$ 号机场飞到第 $4$ 号机场,这次是免费的(因为两个机场属于同一家公司)。所以总费用为 $1$。无法免费到达竞赛现场,因此答案为 $1$。
在第二个样例中,Vladik 可以直接从第 $5$ 号机场飞到第 $2$ 号机场,因为它们属于同一家公司。
由 ChatGPT 5 翻译