Wrong Judgement Regarding Compression Algorithm (ICPC 2017)

@vijju123 Then its the case of complier dependent problems. And you simply can’t judge someone to be wrong because different compilers have different judge environment. Codeblocks is used by many people and you can’t claim there answer to be wrong and codechef ide’s answer to be correct- Considering the fact that it will hamper the chances of teams qualifying to the next level.

1 Like

@satyroxx1397 , firstly I am not judging anything. But frankly, you ARE responsible to make sure your code doesnt suffer from environment differences. Codeblocks does a lot of refinements to your code like initializing values to 0 by default, which arent done by codechef environment. If codeblocks give correct output but codechef gives different, then you are responsible to make it correct on codechef.

I requested @admin to go through it herself and consider case sympathetically, even though whether his code gets AC or WA is none of my concern.

3 Likes

For this question :correct formula ,used double,precision set to 10, still WA . GREATER (>=20)setprecision would have worked.
Similar case for problem #2 we got internal error two times. which forced us to change the strategy, these cases ruins the ranklist and bring teams moral down. At this level these aren’t just some random small glitches.

2 Likes

If we get WA due to the precision issue, we start to find out the error in our code. We run all the test cases we can think of to verify our code, but we won’t find the error because there’s no error. How are we supposed to know that it’s due to the precision issue?

Here is the major error in problem that could have been avoided:-

Problem statement says"Absolute error", this should have been written in bold text. It’s not a silly error.We are accustomed to “relative error”, so normally we could not have seen that. (It makes no sense to use
“Absolute error” in problem statement)

7 Likes

Rightly said @melody00. Or they could have avoided this issue altogether by asking us to print the fraction in reduced form (a/b where gcd(a,b)=1).

2 Likes

Moreover it was codechef’s compiler problem in idle environment of python it is giving exact output even with precision more than 0.000001 i think the submitted solutions should also be calculated in some other compiler before giving WA

Exactly @rishi_07. We got WA for both 2nd and 3rd question due to this goddamn “Absolute error” :frowning:

There’s a difference between using cout<< setprecision(x) and cout<< fixed<< setprecision(x) [reference- http://codeforces.com/blog/entry/55604?#comment-393859 ].
SO people who dint use fixed would mostly have got a WA.

Similarly in case of printf since the problem states in the "Output section : Your answer will be considered correct if the absolute error is less than 10-6 " thus .6Lf would also give a WA.

@admin could the above reasons be why people are facing WA issues.

2 Likes

" Your answer will be considered correct if the absolute error is less than 10^(-6)"

(1819418087.764435 - 1819418087.764434) is not “less than 10^(-6)”.

7 Likes

The thing is, if we rejudge all solutions on basis of relative error now, then thats also unfair. No matter what argument you bring, ultimately there are people who figured out the correct way to avoid precision issues. Whether its luck, or skill, that doesnt matter- more because we cannot differentiate between the 2.

If after rejudging those teams score low, then they have a valid point of a deserved rank being taken away, since as @swetankmodi said, it will be a never ending fight. @admin is keeping track of solution, and her decision will favor a greater good- now whether that is good for you or not, thats not guaranteed.

@vijju123 yeah totally agree with you, but deep down you too know that this could have been better.

@admin consider the exact expected answer (more than 6 digits after the decimal point) which turns out to be 1819418087.7644343 and our answer is 1819418087.764435. The absolute error between these two values is 0.0000007 which is less than 10^(-6).So our answer should be considered correct.

1 Like

Even i faced the same problem.
If you use just double data type in C and print answer using %lf by default it gives precision upto 10^-6 but i still don’t know why it was showing wrong answer on my first 3 submission and when i changed lf to .8lf(i took precision upto 8 digits) it showed me AC so there was some problem with the precision.

for ex.
if the real answer is something like…
1.666666666666…
your desired answer gives you value like
1.6666666666667
and my answer is
1.666667

so if i subtract your answer from my answer

1.6666670000000 - 1.6666666666667
= 0.000000333333

which equals to 3.33 * 10^-7 which is clearly less than 10^-6.
by using only %lf you can never get absolute error of more than 5 * 10^-7.

my user id is : acm17in2673(in case anyone wants to check my submissions)

Because of this problem 2 hours increased in my total time in rankings. It can make me ineligible to qualify for regionals as in that time some of my college mates solved it with higher precision. :frowning:
(I was 1st in my college after solving 2 questions and ended up at 3rd position after contest)

3 Likes

my solution passed the above test case with correct expected value but still, it got WA during the contest. I think many people got stuck in such situation so please rejudge the submission if possible and please check answers to more than one compiler.
I think that will be the fair to all the participants.

1 Like

Our code gives same output as the expected output for sample input mentioned by admin above, still we got WA. @admin Please check. Team id: acm17in1024

Our code gives the correct output for the above mentioned test case and even with all other test cases. Our submission with id, 16113398, gives WA during the contest. @admin, Please look into this issue.
PS: While calculating the absolute error of our answer, consider the full answer with more than six places after the decimal as the expected answer and not the truncated one.

1 Like

@vijju123 First of all if the matter is none of your concern then better stay out of it. For your kind information- “And you simply can’t judge someone to be wrong because different compilers have different judge environment”- By this statement I didn’t mean that you should judge or not. As a matter of fact you are nobody to judge any of our or other team’s solutions. I meant by the statement that different judges do give different outputs and codechef can’t judge someone’s solution on this basis. That’s what our point was. So please stay out of it if you can’t be helpful.
Thanks.

1 Like

@satyroxx1397 - I am sad seeing your level of maturity. I can use your own argument to tell you that “Who are you to tell codechef how they can judge and how they cant?” :).

By the way, feel free to downvote my older answers and questions, perhaps you will feel some peace again. I see no point arguing with you, so please do what you like to cool down. :slight_smile:

1 Like

@vijju123 Yeah even I can see your level of maturity you have shown by poking your nose into other’s matter. Even I see no point in talking to you so better be out of it. And this is Codechef Discuss - I have every right to talk to admin and ask him to help me out.If the admin has any problem with it he will reply me suitably. So please chuck it. You find peace by getting upvotes and better keep doing that and stay away from our matter.

1 Like
And this is Codechef Discuss - I have every right to talk to admin and ask him to help me out.If the admin has any problem with it he will reply me suitably.

Lol.

I get it, you are angry and blind in anger, but really. When you get to know other half of story, I think you will feel sad. Thats it, discussion over :slight_smile:

1 Like