function execute(program) {
let currentCycle = 1;
let cycles = [];
let x = 1;
for (let instruction of program) {
if (instruction.cycles === 1) {
cycles.push({
cycle: currentCycle,
xDuring: x,
xAfter: x + instruction.incr
});
} else {
cycles.push({ cycle: currentCycle, xDuring: x, xAfter: x });
cycles.push({
cycle: currentCycle + 1,
xDuring: x,
xAfter: x + instruction.incr
});
}
x += instruction.incr;
currentCycle += instruction.cycles;
}
return cycles;
}