Well, this is one of the problem/reason why people try to avoid buying topmost floor.
both the solutions will not work as repair work of building has to be done/approved by society and you can not take over it yourself and ask society to make payment. If this is allowed then everyone will start doing something or other things for society.
now to solve your problem, you have to tell them that if overall repair and maintenance work of the society is being delayed then the roof work to be carried out now and rest of work can be done later. This can be achieved by same contractor under same bill or splitting the work in 2 parts.
The society will reject it then you have to send a legal notice to society and send the same to registrar.
If still the problem is not solved then you have no other option but to get order from court to proceed with your options.