I have an ERC721 contract. In the constructor, X NFTs are minted with X being passed as an argument to the constructor. I need to keep track of various things for each NFT, such as the price. The price would need to be an array of uints with slots equal to x, i.e.

`uint[x] public prices;`

But I need prices to be available to other functions in the future. If I just define the variable in the constructor, it will not be a global variable. But if I defined it outside the constructor or any other function, I am unable to define the size at a time after contract deployment.

Wat do?