結果
| 問題 |
No.859 路線A、路線B、路線C
|
| コンテスト | |
| ユーザー |
shop_one
|
| 提出日時 | 2019-08-09 22:00:37 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 640 bytes |
| コンパイル時間 | 484 ms |
| コンパイル使用メモリ | 65,616 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-19 11:50:38 |
| 合計ジャッジ時間 | 1,039 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 5 WA * 7 |
ソースコード
#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 = 2+min(t0,xyz[n0]-t0)+min(t1,xyz[n1]-t1);
ml = min(abs(t1-t0),outl+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