結果
| 問題 |
No.126 2基のエレベータ
|
| コンテスト | |
| ユーザー |
oba
|
| 提出日時 | 2015-01-25 17:11:36 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 445 bytes |
| コンパイル時間 | 1,153 ms |
| コンパイル使用メモリ | 158,696 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-10 18:22:22 |
| 合計ジャッジ時間 | 1,992 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
#include <bits/stdc++.h>
#define REP(a,b,c) for(int a=b; a<(int)c; a++)
#define rep(a,b) REP(a,0,b)
typedef long long int llint;
using namespace std;
int main(){
int A, B, S;
cin >> A >> B >> S;
int ans;
if((abs(A-S)<=abs(B-S)) || S==1){
//A come
ans = abs(A-S) + S;
}else{
//B come
ans = abs(B-S);
if(A<S){
ans += S-A + A;
if(A==0) ans++;
}else ans += min(A-S + A, S-1 + A);
}
cout << ans << endl;;
return 0;
}
oba