結果
| 問題 |
No.859 路線A、路線B、路線C
|
| コンテスト | |
| ユーザー |
shop_one
|
| 提出日時 | 2019-08-09 22:08:18 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 644 bytes |
| コンパイル時間 | 579 ms |
| コンパイル使用メモリ | 64,256 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-07-19 12:07:00 |
| 合計ジャッジ時間 | 1,160 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 7 WA * 5 |
ソースコード
#include<iostream>
using namespace std;
typedef long long ll;
int no(int a,int b){
if((a==0&&b==1)||(a==1&&b==0))return 2;
if((a==0&&b==2)||(a==2&&b==0))return 1;
return 0;
}
int main(){
ll xyz[3],t0,i,t1,ml=100000000000000,n0,n1,outl,gf,ge;
char s0,s1;
cin >> xyz[0] >> xyz[1] >> xyz[2] >> s0>>t0>>s1>>t1;
n0=s0-'A';
n1=s1-'A';
if(n0==n1){
outl = min(t0-1,xyz[n0]-t0)+min(t1-1,xyz[n1]-t1);
ml = min(abs(t1-t0),outl+1+min(xyz[(n0+1)%3],xyz[(n0+2)%3]));
}else{
i = no(n0,n1);
gf = min(t0-1,xyz[n0]-t0+xyz[i]);
ge = min(xyz[n0]-t0-1,t0+xyz[i]);
ml = min(gf+t1,ge+xyz[n1]-t1);
}
cout << ml<<endl;
}
shop_one