結果
| 問題 |
No.859 路線A、路線B、路線C
|
| コンテスト | |
| ユーザー |
nmnmnmnmnmnmnm
|
| 提出日時 | 2019-05-24 04:12:00 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,460 bytes |
| コンパイル時間 | 1,043 ms |
| コンパイル使用メモリ | 92,956 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-05 23:55:41 |
| 合計ジャッジ時間 | 1,624 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 WA * 2 |
ソースコード
#include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <iostream>
#include <map>
#include <memory>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
using namespace std;
typedef long long ll;
#define sz size()
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(c) (c).begin(), (c).end()
#define rep(i,a,b) for(ll i=(a);i<(b);++i)
#define per(i,a,b) for(ll i=b-1LL;i>=(a);--i)
#define clr(a, b) memset((a), (b) ,sizeof(a))
#define ctos(c) string(1,c)
#define print(x) cout<<#x<<" = "<<x<<endl;
#define MOD 1000000007
int main() {
ll d[3];
cin>>d[0]>>d[1]>>d[2];
char s[2];
ll t[2];
cin>>s[0]>>t[0];
cin>>s[1]>>t[1];
vector<pair<ll,ll> > vp;
vp.pb(mp(s[0]-'A',t[0]-1));
vp.pb(mp(s[1]-'A',t[1]-1));
if(vp[0].se>vp[1].se)swap(vp[0],vp[1]);
if(vp[0].fi==vp[1].fi){
ll x = d[vp[0].fi];
ll y = d[(vp[0].fi+1)%3];
ll z = d[(vp[0].fi+2)%3];
cout << min(vp[1].se-vp[0].se,min(x-vp[1].se+y,x-vp[1].se+z)) << endl;
}
else{
ll x = d[vp[0].fi];
ll y = d[vp[1].fi];
ll z = d[3-vp[0].fi-vp[1].fi];
ll ans1 = min(vp[0].se+vp[1].se+1,x-vp[0].se+y-vp[1].se-1);
ll ans2 = min(vp[0].se+z+y-vp[1].se,x-vp[0].se+z+vp[1].se);
cout << min(ans1,ans2) << endl;
}
return 0;
}
nmnmnmnmnmnmnm