#include <iostream>
using namespace std;

int slove(int n)
{
    int m = 0;
    while (true)
    {
        // 体力大于600，还能进行下次循环
        if (n > 600)
        {
            n -= 600; //      跑1分钟消耗600体力
        }
        else
        {
            // 600/60 每秒钟消耗的体力
            // n / (600 / 60)  n体力能够跑的时间
            return m + n / (600 / 60);
        }

        n += 300;       //      休息1分钟提升300体力
        m = m + 2 * 60; //      一个循环2分钟
    }
}

// 递归算法
int slove_d(int n)
{
    //体力不大于600，结束递归
    if (n <= 600)
    {
        return n / (600 / 60);
    }

    // 每次循环2分钟， 消耗300体力
    return 60 * 2 + slove_d(n - 300);
}

int main()
{
    cout << slove(10000) << endl;
    cout << slove_d(10000) << endl;
    return 0;
}