けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 129 A - Airplane (灰色, 100 点)

この頃によくあった 3 個の入力をどうのこうのする系!

問題概要

3 つの空港 A, B, C がある。

  • A-B 間の移動の所要時間は  p
  • B-C 間の移動の所要時間は  q
  • A-C 間の移動の所要時間は  r

今、これらの空港を順に訪れる (たとえば、B → A → C)。最短の所要時間はいくらか?

解法

 p, q, r のうち「最も小さいもの」と「2 番目に小さいもの」を足せば OK。

ABC-A の範囲外だけど、ソートして前から 2 個足すのが楽。

あるいは、 p + q + r から  \max(p, q, r) を引くという手もある。

#include <bits/stdc++.h>
using namespace std;

int main() {
    vector<int> v(3);
    for (int i = 0; i < 3; ++i) cin >> v[i];
    sort(v.begin(), v.end());
    cout << v[0] + v[1] << endl;
}