結果

問題 No.894 二種類のバス
ユーザー pekempeypekempey
提出日時 2019-10-01 19:11:30
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 2,624 bytes
コンパイル時間 885 ms
コンパイル使用メモリ 75,688 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-04-14 08:39:28
合計ジャッジ時間 1,640 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 2 ms
6,940 KB
testcase_03 AC 2 ms
6,944 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 AC 2 ms
6,944 KB
testcase_06 AC 2 ms
6,944 KB
testcase_07 AC 2 ms
6,940 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 2 ms
6,944 KB
testcase_11 AC 2 ms
6,940 KB
testcase_12 AC 2 ms
6,944 KB
testcase_13 AC 2 ms
6,940 KB
testcase_14 AC 2 ms
6,940 KB
testcase_15 AC 2 ms
6,940 KB
testcase_16 AC 2 ms
6,944 KB
testcase_17 AC 2 ms
6,940 KB
testcase_18 AC 2 ms
6,944 KB
testcase_19 AC 2 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

// https://github.com/pekempey/banana
// -------------------------------------------
// sig i64 -> i64 -> i64
// let gcd x_ y_ =
//   let mut x = x_ in
//   let mut y = y_ in
//   while y <> 0 do
//     let r = x % y in
//     x = y;
//     y = r
//   done;
//   x in
// 
// let T = readi64 () in
// let A = readi64 () in
// let B = readi64 () in
// 
// sig i64 -> i64 -> i64
// let ceildiv x y = (x + y - 1) / y in
// 
// let mut ans = 0i64 in
// ans += ceildiv T A;
// ans += ceildiv T B;
// ans -= ceildiv (ceildiv T (A / gcd A B)) B;
// println ans
// -------------------------------------------
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <vector>
#include <string>
struct unit {};
using i32 = int;
using i64 = long long;
using u32 = unsigned;
using u64 = unsigned long long;
using string = std::string;
template<class T> unit print(T a) { std::cout << a; return unit(); }
template<class T> unit println(T a) { std::cout << a << '\n'; return unit(); }
i32 readi32(unit _) { i32 a; std::cin >> a; return a; }
i64 readi64(unit _) { i64 a; std::cin >> a; return a; }
u32 readu32(unit _) { u32 a; std::cin >> a; return a; }
u64 readu64(unit _) { u64 a; std::cin >> a; return a; }
string readstring(unit _) { string a; std::cin >> a; return a; }
int main() {
std::cin.tie(nullptr);
std::ios::sync_with_stdio(false);
std::cout << std::fixed << std::setprecision(15);
auto _2=[&](auto _1,auto _0)->i64{
auto &_14=_1;
auto _10=_14;
auto &_15=_0;
auto _11=_15;
while(true){
auto &_16=_11;
constexpr i32 _17=0;
auto _18=_16!=_17;
if(!(_18))break;
auto &_19=_10;
auto &_20=_11;
auto _21=_19%_20;
auto _12=_21;
auto &_22=_11;
_10=_22;
unit _23;
auto &_24=_12;
_11=_24;
unit _25;
auto _26=_25;
auto _27=_26;
}
unit _28;
auto &_29=_10;
auto _30=_29;
auto _31=_30;
auto _32=_31;
return _32;
};
unit _33;
auto _34=readi64(_33);
auto _3=_34;
unit _35;
auto _36=readi64(_35);
auto _4=_36;
unit _37;
auto _38=readi64(_37);
auto _5=_38;
auto _8=[&](auto _7,auto _6)->i64{
auto &_39=_7;
auto &_40=_6;
auto _41=_39+_40;
constexpr i32 _42=1;
auto _43=_41-_42;
auto &_44=_6;
auto _45=_43/_44;
return _45;
};
constexpr i64 _46=0;
auto _9=_46;
auto &_47=_3;
auto &_48=_4;
auto _49=_8(_47,_48);
_9+=_49;
unit _50;
auto &_51=_3;
auto &_52=_5;
auto _53=_8(_51,_52);
_9+=_53;
unit _54;
auto &_55=_3;
auto &_56=_4;
auto &_57=_4;
auto &_58=_5;
auto _59=_2(_57,_58);
auto _60=_56/_59;
auto _61=_8(_55,_60);
auto &_62=_5;
auto _63=_8(_61,_62);
_9-=_63;
unit _64;
auto &_65=_9;
auto _66=println(_65);
auto _67=_66;
auto _68=_67;
auto _69=_68;
auto _70=_69;
unit _71=_70;
auto _72=_71;
auto _73=_72;
auto _74=_73;
unit _75=_74;
}
0