Money can be debited once a month. This is the age of computers. Paying people enough money for food needs will end up being cheaper than subsidizing the food. After all, what does subsidizing mean? The govt is paying the producers and distributors, who are free to jack up prices. On the other hand, if govt pays to the consumers, then the producers and distributors will try to keep prices down, to reap maximum profit.
Whether you pay people money, or subsidize their food, you end up paying. In the former case, you only pay for the item. In the latter, you pay for the item, plus the overhead costs.
That's precisely why things should not be subsidized. When housing was paud for by the govt, they gave that away to other people and lived in slums. When foodgrains are subsidized, they end up being sold to bakeries and eateries for a higher price. It is when govt subsidizes something, that that thing gets misused and sold for higher prices on the black market. If govt paid people money and left them free to do what they want with it, then they cannot sell that money for a higher amount of money. If they buy alcohol with that, it's their fault, isn't it? They deserve to go hungry in that case.