{"ScriptPreparationCode":"function* generate(until) {\r\n let current = 0\r\n while(current \u003C until) {\r\n yield 1 \u002B (5 * current)\r\n current\u002B\u002B\r\n }\r\n}\r\n\r\nfunction apSum(array) {\r\n const N = array.length\r\n const [a] = array\r\n const L = array[N - 1]\r\n return (N / 2) * (a \u002B L)\r\n}\r\n\r\nfunction sum(array) {\r\n return _.sum(array)\r\n}\r\n\r\nfunction naiveSum(array) {\r\n array.reduce((total, current) =\u003E total \u002B= current, 0)\r\n}","TestCases":[{"Name":"Lodash sum","Code":"const data = [...generate(1000 * 1000)]\r\nsum(data)","IsDeferred":false},{"Name":"Ap Sum","Code":"const data = [...generate(1000 * 1000)]\r\napSum(data)","IsDeferred":false}]}