結果
問題 |
No.126 2基のエレベータ
|
ユーザー |
![]() |
提出日時 | 2017-01-03 14:32:26 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 886 bytes |
コンパイル時間 | 841 ms |
コンパイル使用メモリ | 84,104 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-10 18:31:01 |
合計ジャッジ時間 | 1,521 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <algorithm> #include <utility> #include <functional> #include <cstring> #include <queue> #include <stack> #include <math.h> #include <iterator> #include <vector> #include <string> #include <set> #include <math.h> #include <iostream> #include<map> #include <iomanip> #include <stdlib.h> #include <list> #include <typeinfo> #include <list> #include <set> using namespace std; #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) #define LONG_INF 100000000000000 int main() { iostream::sync_with_stdio(false); int a, b, s; cin >> a >> b >> s; if (abs(a - s) <= abs(b - s)||s == 1) { cout << abs(a - s) + s << endl; return 0; } else { int ans = abs(s - b) + (s - 1); if (a == 0) ans += 2; else ans += a; if (a != 0) ans = min(ans, abs(s - b) + abs(s - a) + a); cout << ans << endl; } }