結果

問題 No.598 オーバーフローファンタジー
ユーザー KarakasaDcFd
提出日時 2019-07-17 16:02:35
言語 C++17(1z)
(gcc 8.3.0)
結果
AC  
実行時間 3 ms
コード長 1,267 Byte
コンパイル時間 1,603 ms
使用メモリ 1,508 KB
最終ジャッジ日時 2019-10-14 05:18:15

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0_0_sample_1.txt AC 3 ms
1,504 KB
0_1_sample_2.txt AC 3 ms
1,504 KB
0_2_sample_3.txt AC 3 ms
1,504 KB
1_0.txt AC 3 ms
1,504 KB
1_1.txt AC 3 ms
1,504 KB
1_2.txt AC 3 ms
1,508 KB
1_3.txt AC 3 ms
1,504 KB
1_4.txt AC 3 ms
1,504 KB
1_5.txt AC 3 ms
1,508 KB
1_8.txt AC 3 ms
1,504 KB
1_9.txt AC 3 ms
1,504 KB
1_10.txt AC 3 ms
1,508 KB
2_0.txt AC 3 ms
1,500 KB
2_1.txt AC 3 ms
1,508 KB
2_2.txt AC 3 ms
1,508 KB
2_3.txt AC 3 ms
1,508 KB
2_4.txt AC 3 ms
1,508 KB
3_0.txt AC 3 ms
1,504 KB
3_1.txt AC 3 ms
1,504 KB
3_2.txt AC 3 ms
1,504 KB
3_3.txt AC 3 ms
1,508 KB
3_4.txt AC 3 ms
1,504 KB
4_1.txt AC 3 ms
1,504 KB
4_2.txt AC 3 ms
1,508 KB
4_3.txt AC 3 ms
1,504 KB
5_0.txt AC 3 ms
1,504 KB
5_1.txt AC 3 ms
1,504 KB
99_system_test1.txt AC 3 ms
1,508 KB
99_system_test2.txt AC 3 ms
1,508 KB
99_system_test3.txt AC 3 ms
1,504 KB
99_system_test4.txt AC 3 ms
1,504 KB
テストケース一括ダウンロード

ソースコード

diff #
#include "bits/stdc++.h"

using namespace std;
using ll = long long;
const double pi = acos(-1);
#define FOR(i,a,b) for (ll i=(a),__last_##i=(b);i<__last_##i;i++)
#define RFOR(i,a,b) for (ll i=(b)-1,__last_##i=(a);i>=__last_##i;i--)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) RFOR(i,0,n)
#define __GET_MACRO3(_1, _2, _3, NAME, ...) NAME
#define rep(...) __GET_MACRO3(__VA_ARGS__, FOR, REP)(__VA_ARGS__)
#define rrep(...) __GET_MACRO3(__VA_ARGS__, RFOR, RREP)(__VA_ARGS__)
template<typename T> ostream& operator<<(ostream& os, const vector<T>& v) {
	REP(i, v.size()) { if (i)os << " "; os << v[i]; }return os;
}
template<typename T> ostream& operator<<(ostream& os, const vector<vector<T>>& v) {
	REP(i, v.size()) { if (i)os << endl; os << v[i]; }return os;
}

const ll INF = LLONG_MAX;
ll MOD = 1000000007;
ll _MOD = 1000000009;
double EPS = 1e-10;

#define int long long

inline void my_io() {

	std::ios::sync_with_stdio(false);

	std::cin.tie(0);

	cout << fixed << setprecision(16);

	//cout << setprecision(10) << scientific << ans << endl;
}

signed main() {
	ll n, x, a, b;
	
	cin >> n >> x >> a >> b;

	ll ans1 = x / a + min((ll)1, x % a);

	ll ma = (1LL << (n - 1));
	ll ans2 = (ma - x) / b + min((ll)1, (ma - x) % b);

	cout << min(ans1, ans2) << endl;
}
0