It's come to a point where if I see that my solution is 'stuck' on a case, I automatically assume that it's incorrect somehow.
Does anyone know why this happens?
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
5 | -is-this-fft- | 158 |
6 | adamant | 157 |
6 | awoo | 157 |
8 | TheScrasse | 154 |
8 | nor | 154 |
10 | djm03178 | 153 |
It's come to a point where if I see that my solution is 'stuck' on a case, I automatically assume that it's incorrect somehow.
Does anyone know why this happens?
Name |
---|
Running on test x .
A few moments passes .
Wrong answer on test x .
Its been common in last few days .
Running on test x.
A few moments passes.
Wrong answer on test x + y.
This might be the case for solutions near the Time Limit which are executed multiple times. Not sure what is the used strategy, but I guess is something among the lines, if execution time of the submission is more than time limit, but less than time limit + some threshold execute again (do it 1 or 2 times). Solution will be considered TLE if all executions were out of time.
It doesn't happen only with TLE submissions. I observed similar things with WA submissions which are not close to TL. Testcase number that is executed is updated every ~3s but then it got stuck on test e.g. 12 and after 10s it shows WA on test 14.
Also, recently I've seen a few times that after "Running on test N" I briefly see "Running on test N+1", which then swiftly changes to "WA on test N".
It is a possible reason, but I think maybe the main problem is that the judge divides the test cases into different (processes or threads), in case of failure of any test, killing all (processes or threads) for higher numbered tests takes time
In that case CF could show submission's verdict before killing all processes or threads.
I also find that the result of submissions always appears faster in the problem page of contests.
On the contrary, I notice that if you submit the same code for the same problem, but under two different problem IDs (like div2C and div1A), the submission result is very fast, as if they cached my submission or something.
They definitely cache submissions, I suspect they're caching binaries. If you submit the same file with only comments that differ you'll always get the same time.
I always thought this had to do with the diagnostics running extra stuff to figure out what happened when the code was wrong, though I have no clue if this is actually the case.
because after non-AC verdicts, if you use C++ then CF run some diagnostics on your code to catch TLE, RTE, and errors. I don't know if there are other diagnostic tools for other languages.
I always thought that this is a way to stop participants from submitting too frequently, like when you know you didn't AC, sometimes you submit once again with some modified code, now you have to wait for 1 min more.
The comments about diagnostics are correct, you can read more about it here https://codeforces.me/blog/entry/55902
Diagnostics don't change submission's verdict. CF could show submission's verdict, only then start the diagnostics(also show something like "diagnostics are running...").
Aren't the diagnostics run after submission's first failed test?
_LeMur_is_the_best
The comments about diagnostics are obviously correct, though sometimes I have observed that after submission, when seeing the status, the page may say 'Running on test x' but upon refreshing you see 'Running on test y' instead (y>x). So sometimes the text on the status page is updated with a delay of few seconds, if you do not manually refresh the page.
I just handed over the task, I go to the status tab and there I am no longer there.WTF?