Run Up The Building

2 secs 1024 MB
dyktr_06's icon dyktr_06

最短経路として考えられる場合として、テレポーターを使って移動する場合と、階段のみを使って移動する場合についての 22 パターンが考えられます。

よって、それぞれについて移動にかかる時間を計算し、最小のものを出力すればよいです。

実装例(C++)
#include <bits/stdc++.h>

using namespace std;

int main(){
    int n, a, b, c, t; cin >> n >> a >> b >> c >> t;
    int ans = min((n - 1) * t, (a - 1) * t + (n - b) * t + c);
    cout << ans << endl;
}