diff --git a/src/intcode.rs b/src/intcode.rs index b1b96e8..1236bf0 100644 --- a/src/intcode.rs +++ b/src/intcode.rs @@ -319,9 +319,8 @@ impl Computer { Mode::Immediate => want, Mode::Relative => (self.rel + self.get_pos(want)) as usize, }; - if length < want { - let missing = (want - length) + 10000; - self.program.extend_from_slice(&vec![0; missing]) + if length <= want { + self.program.resize(want + 1, 0); } self.program[want] = value; }