Java&JS&TS Solution (JW)
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\nJava:\n```\npublic int fillCups(int[] amount) {\n    int mx = 0, sum = 0;\n    for(int a : amount) {\n        mx = Math.max(a, mx);\n        sum += a;\n    }\n    return Math.max(mx, (sum + 1) / 2);\n}\n```\nJavascript:\n```\nvar fillCups = function(amount) {\n    let max = 0, sum = 0;\n    for (let i of amount) {\n        max = Math.max(i, max);\n        sum += i;\n    }\n    \n    return Math.max(max, Math.floor((sum + 1) / 2));\n};\n```\nTypescript:\n```\nfunction fillCups(amount: number[]): number {\n    let max = 0, sum = 0;\n    for (let i of amount) {\n        max = Math.max(i, max);\n        sum += i;\n    }\n    \n    return Math.max(max, Math.floor((sum + 1) / 2));\n};\n```
['Java', 'TypeScript', 'JavaScript']