結果
| 問題 |
No.126 2基のエレベータ
|
| コンテスト | |
| ユーザー |
ngtkana
|
| 提出日時 | 2020-03-25 02:08:35 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 708 bytes |
| コンパイル時間 | 1,997 ms |
| コンパイル使用メモリ | 191,696 KB |
| 最終ジャッジ日時 | 2025-01-09 10:06:18 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 WA * 4 |
ソースコード
#include<bits/stdc++.h>
using lint=long long;
void cmn(lint&x,lint y){if(x>y)x=y;}
int main(){
std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false);
std::cout.setf(std::ios_base::fixed);std::cout.precision(15);
lint a,b,x;std::cin>>a>>b>>x;
lint ans=0;
if(x==1||std::abs(a-x)<=std::abs(b-x)){
ans+=std::abs(a-x);a=x;
ans+=x;a=x=0;
}else{
auto cal=[a,b,x](lint y)mutable{
lint now=0;
now+=std::abs(x-b);b=x;
now+=std::abs(x-y);b=x=y;
now+=std::abs(x-a);a=x;
now+=a;a=x=0;
return now;
};
ans=cal(1);
if(a!=0)cmn(ans,cal(a));
}
std::cout<<ans<<'\n';
}
ngtkana