1. A method for programming in a memory device, comprising: performing a plurality of program-verify iterations in one programming pass for a set of memory cells until completion of the one programming pass, the set of memory cells comprises respective subsets of memory cells, each respective subset of memory cells has a respective target data state defined by a respective verify voltage; after the completion of the one programming pass, identifying memory cells of each respective target data state for which reprogramming is warranted by performing a verify test to identify memory cells of each respective target data state having a threshold voltage which is below a respective verify voltage; and performing a plurality of program-verify iterations in a reprogramming pass for the memory cells of each respective target data state for which reprogramming is warranted, wherein for each respective target data state, a width of a program pulse applied to the set of memory cells during the program-verify iterations in the reprogramming pass is longer than a width of a program pulse applied to the set of memory cells during the program-verify iterations in the one programming pass.