#include <iostream> using namespace std; int exchange_bottles(int bottles) { if (bottles < 2) { return 0; } int new_bottles = bottles / 2; int remaining_bottles = bottles % 2; return new_bottles + exchange_bottles(new_bottles + remaining_bottles); } int max_drinks(int n, int m) { int initial_bottles = m / n; return initial_bottles + exchange_bottles(initial_bottles); } int main() { int n, m; cin >> n >> m; cout << max_drinks(n, m) << endl; return 0; } /************************************************************** Problem: 1376 User: panyuchen Language: C++ Result: Accepted Time:7 ms Memory:2072 kb ****************************************************************/