Problem LinkDifficultyCakeWalk PrerequisitesBasic programming language constructions ProblemFind the maximal value of the profit for playing a singleplayer game described in the problem statement How to get 20 pointsLet's generate all permutations of the order of the questions and calculate the score for each of them. Among the scores for all the orders, choose the maximal. Then just output the maximal obtained score. Since there are exactly N! permutations of the set of N questions and a check of a single order takes O(N) time, the complexity of such a solution is O(N!*N). In C++ you can use STL routine next_permutation for simple generation of all the permutations. This solution solves the first subtask, however, it is too slow to get the full points. How to get 100 pointsLet us calculate K  the number of the questions that would be answered correctly by Chef. Clearly, the i^{th} question will be answered correctly if the i^{th} sumbol in the first string equals to the i^{th} symbol in the second string. If K = N, there is no other option than Chef answers all the questions correctly and gets W_{N} dollars of profit. Otherwise, using any question than can be answered incorrectly, we can obtain any number of correct answers between 0 and K inclusively. Then the answer is, therefore, the maximal value of W_{i} for 0 ≤ i ≤ K. The complexity of such a solution is O(N) for a single test case. Setter's Solution:Can be found here Tester's Solution:Can be found here
This question is marked "community wiki".
asked 04 Oct '15, 04:11

Whats wrong with this code? answered 12 Oct '15, 15:14
for (j=0; j<1001; j++) W[i]=0; The above line is wrong. make it, for (j=0; j<1001; j++) W[j]=0; This gives 100pts
(12 Oct '15, 15:25)
Thanks for pointing it out. Really feeling bad that I missed 80 points due to that! :(
(12 Oct '15, 20:06)

I too did the same thing here. But why still my code got WA? https://www.codechef.com/viewsolution/8530210 answered 12 Oct '15, 15:21
"If K = N, there is no other option than Chef answers all the questions correctly and gets WN dollars of profit."
(12 Oct '15, 15:23)
You are not considering the case where all the answers are correct. Your modified code : https://www.codechef.com/viewsolution/8530809 This gives AC
(12 Oct '15, 15:30)

can any body please tell me where my solution is failing answered 12 Oct '15, 18:08
@prasadram126 Please change long int to long long int and then try again. The constraints of the problem are such that they need a datatype as large as long long int. This is the link to your updated solution. https://www.codechef.com/viewsolution/8535868
(13 Oct '15, 00:04)
@raunak_parijat thanks for you help , i have one question, in the problem page value of wi at max 10^9 i have tested my code with 10^9 it's working fine .So can you please give me any test case where it's giving WA?
(14 Oct '15, 10:55)

please check what's wrong with this code my code answered 13 Oct '15, 01:08
@anuragkumar33 I think you need to make arrays A and B a little bit bigger (say, 1010), because string of length N needs N + 1 byte of memory (string itself plus '\0').
(13 Oct '15, 09:53)
@eartemov thanks a lot for the help
(16 Oct '15, 09:01)

can any one tell what's wrong with this code? answered 13 Oct '15, 21:09

check this video editorial https://www.youtube.com/watch?v=XT6Pmmi9zBk answered 13 Oct '15, 21:20

Can anybody tell why my program has not given complete 100 points. where my program lacks. https://www.codechef.com/viewsolution/8450527 answered 13 Oct '15, 23:28

Can anyone tell me whats wrong in my code? https://www.codechef.com/viewsolution/8542452 answered 14 Oct '15, 02:10

@amitking you get WA because of no newline character at end of each testcase output check this https://www.codechef.com/viewsolution/8543127 answered 14 Oct '15, 09:23

What is the problem with this solution: https://www.codechef.com/viewsolution/8587753 I tried running it this way: java Codechef< input.txt > output.txt and had the test case input in input.txt and it runs fine. answered 19 Oct '15, 17:56

Hi every one cay any one please tell me whats wrong with this solution? After verifying with setter's solutions i modified my solution which is giving AC ,i got shocked because both solutions are same in perceptive of algorithms .The difference between two solutions are in the first one using one for loop i am checking no.of correct answers and taking input of w's , in the second solution i have separated the above logic into two different for loops , both are doing the same thing then why i got WA for first solution can one please tell me either reason or any test case where it's failling? answered 24 Oct '15, 15:52

Hi every one cay any one please tell me whats wrong with this solution? After verifying with setter's solutions i modified my solution which is giving AC ,i got shocked because both solutions are same in perceptive of algorithms .The difference between two solutions are in the first one using one for loop i am checking no.of correct answers and taking input of w's , in the second solution i have separated the above logic into two different for loops , both are doing the same thing then why i got WA for first solution can one please tell me either reason or any test case where it's failling? answered 24 Oct '15, 16:28

I keep on getting WA and SIGSEGV on this code. Can anyone please point out what I'm doing wrong? answered 12 Dec '15, 00:45

WA and I don't know why!! https://www.codechef.com/viewsolution/9015414 Anybody Help answered 25 Dec '15, 17:53

I am a bit new here and a little help would be greatly appreciated. I tried the below code on Turbo C++, and it worked but here it says wrong answer. Any ideas why that may be?
link
This answer is marked "community wiki".
answered 28 Jan '16, 02:07

like everyone else: I can't get this to work on the submission. It works on the sample data and I've compared to some of the completed solutions and it looks equivalent to me but I still get a WA. answered 02 Feb '16, 23:44

T=int(input()) for t in range(0,T): N=int(input()) ca=input() ga=input() count=0 winnings=[] win=list(map(int,input().split())) for i in range(0,len(ca)): if ca[i]==ga[i]: count=count+1 if count==0: print(win[0]) else: for i in range(1,count+1): winnings.append(win[i]) print(max(winnings))
link
This answer is marked "community wiki".
answered 18 May '16, 22:19

Why goes it give a WA? I'm sure my solution is similar to what the editorial says. https://www.codechef.com/viewsolution/12383128 answered 01 Jan '17, 03:05
