First two people got more then 0 correct predictions because: "four sets of gold medals, four sets of silver medals, and four sets of bronze medals are awarded"
I had WA13 on FreePascal with TStringList.IndexOf() method. Try write IndexOf (or what you use) "manually". Perhaps this is due to hidden features of string conversion/comparison.
I have no idea what is the test #5, but I kept getting it because of a mistake like this: find(v.begin(), v.begin()+4, key) != v.end(). ^^^ must be v.begin()+4