DM
Size: a a a
DM
DM
KP
J
DM
DM
KP
j
25,25,50,50 - Expected: 'YES', instead got: 'NO'
25,100 - Expected: 'NO', instead got: 'YES'
25,50,25,100,25,25,25,100,25,25,50,100,25,50,25,100 - Expected: 'YES', instead got: 'NO'
25,25,50,100,25,25,25,100,25,25,25,100,25,100,50 - Expected: 'NO', instead got: 'YES'
25,25,25,100,25,25,50,100,25,25,50,100,25,25,50,100,25,50,25,100,25,100,50 - Expected: 'NO', instead got: 'YES'
DM
DM
J
J
C
DM
DM
function tickets(peopleInLine) {
const cassa = { 25: 0, 50: 0 }
for (let banknota of peopleInLine) {
cassa['50'] -= ~~((banknota-25)/50)
cassa['25'] -= ~~((banknota-25)%50/25)
cassa['25'] += Math.min(cassa['50'], 0)*2
cassa['50'] = Math.max(cassa['50'], 0)
if (cassa['25'] < 0) {
return 'NO'
}
cassa[banknota]++
}
return 'YES'
}
DM
C
J
function tickets(peopleInLine) {
const cassa = { 25: 0, 50: 0 }
for (let banknota of peopleInLine) {
cassa['50'] -= ~~((banknota-25)/50)
cassa['25'] -= ~~((banknota-25)%50/25)
cassa['25'] += Math.min(cassa['50'], 0)*2
cassa['50'] = Math.max(cassa['50'], 0)
if (cassa['25'] < 0) {
return 'NO'
}
cassa[banknota]++
}
return 'YES'
}