I have participated in the Meta Hacker Cup for four consecutive years: 2021, 2022, 2023, and 2024. After receiving the T-shirt today, I would like to share my experiences and progress.
2021: A newbie want a T shirt
This year, I was a complete newbie. The first two rounds lasted over 24 hours, which gave me more time to solve the problems, so my rank looked good. However, Round 2 was only 3 hours long, and it turned out to be a complete disaster for me.
I got stuck on the first problem and doubted my solution repeatedly. Although I finally solved it 30 minutes before the contest ended, I had no time left for the other problems. In the end, I only solved one problem and ranked 2700+, which meant I didn’t even qualify for a T-shirt. I shared my result with some Meta HR representatives, but they didn’t respond. I applied to several positions at Meta, but my resume was rejected.
I also participated in the Google Code Jam Round 2 and ranked 1000+, but I failed to qualify for Round 3.
2022: Finally I get a T shirt
This year, I performed much better. I finally made it to Google Code Jam Round 3! For the Hacker Cup, in Round 2, there were six problems, and I was able to solve two this time. I made it to the top 1000 and won a T-shirt for the first time.
However, after the contest, I realized I could have done better. With just 30 more minutes, I could have solved A2, and the probability problem wasn’t too hard either. If I had solved just one more problem, there was a great chance I could have qualified for Round 3.
2023: Thank you Meta for keeping this competition alive
This year has not been a smooth one.
First, I wanted to challenge myself with Google Code Jam again because, although I qualified for Round 3 last year, I performed poorly and ranked near the bottom. However, Google canceled the contest this year, which left me with a very bad impression of the company. To make matters worse, TopCoder also canceled its contest. I thought Meta might follow suit, but to my surprise, they decided to keep the Hacker Cup running.
This year, I must admit that I didn’t perform as well as I had hoped, especially in Round 1. For the first time, I ended up with a four-digit rank in that round. My performance in Round 2 was a little better. After struggling with Problem C (Wiki Race) for nearly an hour, I discovered that Problem D was much easier. If I had focused on Problem D earlier, I might have qualified for Round 3. Still, I managed to secure a spot in the top 1000 and earn a T-shirt. The T-shirt is very comfortable, and I’m wearing it even now.
On a positive note, I was contacted by an HR representative from Meta. She said she was impressed by my performance and wanted to talk to me. Although I haven’t received any follow-up or rejection letter since then, it feels like a good start.
2024: Finally make it for round 3
This year, GPT has become much more advanced, and Meta introduced an AI track, which made the competition even more interesting. Additionally, the pretests in this contest were noticeably weaker. My guess is that this might be an attempt to prevent AI-assisted cheating.
My performance this year was much better than in previous years. In Round 1, I made a false assumption and received a Wrong Answer (WA) on Problem D. In Round 2, I missed a corner case on Problem B and got another WA. However, this has been my best performance yet, as I ranked in the top 500 for all three rounds and historically qualified for Round 3! My goal this year was to win the coveted "Top 200 Badge" T-shirt.
Three days before Round 3, I mocked the 2023 Round 3 and achieved a rank of around 140–150, which gave me confidence that I had a real chance. Then, on Saturday, Round 3 began.
The Contest Problem A was very tricky. Initially, I misread it as "minimum area," so I wrote a sliding window solution within 30 minutes. However, I soon realized my understanding was wrong—it was actually about "maximum area." This forced me to start over from scratch.
I also noticed that the validation test set didn’t include the k=3 case. My judgment was that Problem A would likely have a high FST rate. To ensure my solution was robust, I spent more than two hours considering numerous corner cases, writing a brute-force solution, and using a random generator to create small test cases for debugging. After extensive testing, I was confident in my solution and submitted it.
When I moved on to Problem B, I realized it was much easier than Problem A. I regretted spending so much time on A, as I only had 30 minutes left. Unfortunately, I wasn’t able to finish B in time. In the end, I only solved one problem and ranked 296, falling short of my goal of earning the "Top 200 Badge" T-shirt.
Reflection The main reason I failed was that I was overly cautious about system test failures, which made me spend too much time on Problem A. While I did secure my 17 points on A, I now realize that even if I had failed the system test on A, solving B quickly could have still placed me in the top 200. Problem C was also solvable for me, as I am quite good with probability, but I didn’t even get to attempt it due to my time allocation.
2025: Can I have a top-200 badge T-shirt this time?
To be continued ....
Finally, I would like to thank Meta. Although Meta has rejected my resume for SDE and MLE positions 12 times, the company still provides us with a great contest (not cancel it like GCJ), at least for fun.
The IOI is designed for high school students, and the ICPC is for college students. For someone like me—a post-PhD graduate—there are almost no public contests in the United States. Despite the unique format of the Hacker Cup, which many of us are not fully accustomed to, I still hope this contest continues in the future.
At this point, I no longer expect HR to give me a chance for an interview, as it feels meaningless. Competitive programming itself is fun, and that’s enough for me. Besides, you can see my progress from 2021 to 2024—it has been steadily improving. That alone is a great achievement.