I'd suggest using pay toany in electrum or bitcoin core and not using qr codes but using plain text (or a converter).
The transaction might still be expensive though, I think that's 80000 bytes and at a high fee of 100 sat per byte it'd cost 0.08btc, at the minimum fee with a longer conf it'd cost only 0.0008 but getting a transaction of that size to confirm at low fees light be harder.
You're also limited to aboout 2300 outputs before the 100kb mark where your transaction won't be relayed by the mempool afaik.
You might be better off doing it in batches of 250 or 500 to get a fast (within a day conf) with low fees.