I am currently in the 10th grade. I would like to get started in competitive programming. This are the things I know now:

Mathematics — Currently in pre-calculus Well Mathematics in my country is pretty unstructured. You would be studying bits of everything, and not one after the other. So I self studied up to Algebra II (Algebra I, geometry) so that I can cover it in more depth than in my school, though in school I'm learning through trigonometry stuff, algebra I & II stuff and geometry in varying orders.

Programming:

1.Knows the basics of C, Python, C++(main currently learning)

CS50X completed

HTML,CSS ,JS and sqlite3 with python

What I want to learn for competitive programming(I am unsure):

Discrete Mathematics Algorithms Data Structures 4.Dynamic Programming

and I am hoping you'll help me to structure the remaining necessities and knowledge required. I found some blogs at many places but they were incomplete i.e. they are not well enough for beginners to you know get started on.