What should I do before asking for help?

Does anybody have any advice for practicing problems?
When I can’t make any progress on a problem, should I first look at the solution, look at the test data, or ask for help? or any other suggestions you might have

I would look at part of the solution :stuck_out_tongue: (this is personally my preference). Remember to not read the full solution lol (just quickly glance at a specific observation or something that you weren’t able to think of).

Regarding debugging help, if my solution matches the official solution in concept but I am not getting all testcases correct even though I cannot find a testcase myself that my code fails on, can I ask for help, or should I first download the usaco testcases and look at the specific one it’s failing on? Thanks!