Great Britain’s Jack Burnell says his disqualification from the men’s 10km open water swim was “a joke”, as Dutchman Ferry Weertman took gold.
There was plenty of confusion after a dramatic finish, with Greece’s Spiros Gianniotis initially given the win before being downgraded to silver.
Burnell’s disqualification was for two yellow cards – he was unclear about the first, while the second followed a tussle with Oussama Mellouli.
“Absolutely outrageous,” said Burnell.
The 23-year-old said officials in “about 600 boats” had “no idea what they are doing, giving out cards left, right and centre for nothing”.
He added: “The whole thing is a joke. I was disqualified two metres from the finish.”
Burnell was given third and then fifth place at the finish before being disqualified. His first yellow card came while progressing down the straight in second place.
“No-one was either side of me and he pulls out a yellow card,” said Burnell. “I couldn’t physically have touched anyone and I got a yellow card.
“I shook my head at the guy. This is meant to be the pinnacle of our sport and there are referees who haven’t a clue what they are doing.”
Burnell insisted the officials should not get involved unless “something is clearly wrong”.
“Imagine this happens in the [football] World Cup final and the referee gives the goalie a yellow card for standing there. That is how ridiculous this is,” he said.
“They always want to be seen to be doing something. On the Olympic stage, what do they want to do? Do they want to get on telly to show a yellow card? To show their family back home that they’re doing something? It’s absolutely ridiculous.”
Burnell and the chasing pack had caught sole breakaway swimmer Jarrod Poort, of Australia, before a race to the finish.
Gianniotis led the way into the finishing funnel and, even though he might have crossed the finishing board first, Weertman was first to touch it.
France’s Marc-Antoine Olivier and Zu Lijun of China shared the bronze.
Defending Olympic champion Mellouli finished 12th, despite Burnell alleging he impeded his progress.
The British swimmer received his second yellow card for pushing the Tunisian off him just metres from the finish.
“He was holding my leg not for one, two, three, but for four or five strokes, so I had to turn round to try to get him off. What am I meant to do?” he said.
“We’re all at top speed and I’m stopped dead. I’m one of the fastest finishers in there.
“He was yellow carded for that, which stopped me winning, but I was disqualified for trying to get him off to try to win the race. Explain that to me.”
Burnell believes appealing against the decision would be futile. “It’s never changed anything in the sport,” he said.
Subscribe to the BBC Sport newsletter to get our pick of news, features and video sent to your inbox.