You are not logged in. Please login at www.codechef.com to post your questions!

×

# [closed] ZCO 14 SUPW

 0 Link- SUPW This is my code for SUPW in python- n = int(input()) c = list(map(int,input().strip().split())) if n <= 3: print(min(c)) else: cost = [c[0],c[1],c[2]] for i in range(3,n): cost.append(c[i] + min(cost[i-3:i])) print(min(cost[n-3:]))  This is giving accepted for all test cases except for test case 2 in which it is giving Runtime Error. Can someone tell me the reason or provide a test case where it fails. So what I have done is that- Cost[i] = min time if we work that day. So cost[0] = c[0], cost[1] = c[1], cost[2] = c[2] And for the rest it is c[i] + min of the previous 3 elements. And the answer is the min of the last 3 elements.  asked 02 Nov '16, 15:51 2.6k●6●26 accept rate: 7%

### The question has been closed for the following reason "The question is answered, right answer was accepted" by mathecodician 18 Mar '17, 19:55

 0 Dont have any debugging experience in python , but I got AC with the same logic but I used C++ , here is my code, #include #include #include int main(){ int n; std::cin >> n; std::vectordutyTime(n); for(int i=0;i> dutyTime[i]; } std::vectorbestTime(n); bestTime[0] = dutyTime[0]; bestTime[1] = dutyTime[1]; bestTime[2] = dutyTime[2]; for(int i=3;i
 1 OK, so I finally found the bug. I submitted a solution which was the following- Take the input. That's it. It was still showing error on test-case 2. Then I submitted a solution in which it said that if there's a character which is non numeric and it is not a space then it raises an error and it did on test case 2. So finally I submitted a solution in which it took input in such a way that it did not include alphabetical characters and I got AC. Thanks by the way mz54. I don't have enough karma to upvote else I would have upvoted your help. Here is my solution- n = int(input().strip()) c = input().strip().split() j = 0 while j < n: try: c[j] = int(c[j]) except: pass finally: j += 1 n = len(c) if n <= 3: print(min(c)) else: for i in range(3,n): c[i] += min(c[i-3:i]) print(min(c[n-3:]))  My solution answered 14 Nov '16, 19:47 2.6k●6●26 accept rate: 7% It took about 30-35 submissions. (14 Nov '16, 20:11) 2 The same thing happened in the problem Wormholes in which the problem was that it said that the next n lines will give the time of the contest but in 2 test cases there were not n lines but less then that so I was taking extra input and again I had to add a try-except block. (16 Nov '16, 15:02) Thanks a lot @mathecodician. I had been trying to solve that SUPW problem for months and everytime it gave me error on the second test. Your suggestion to take input in such a way so that it does not include characters other than numbers helped a lot. It finally worked after 30-40 tries!! Thanks a lot! :) (19 May '17, 20:07) @mathecodician I am facing same issue in warmholes problem, can you please answer the question on the link below. https://discuss.codechef.com/questions/122165/not-getting-ac-in-warmhole-problem (04 Feb, 17:16) arpit7282★
 1 For Java users, just do the conversion from String to integer inside the try block and also make a catch block to catch the exception. Like this:-  N=Integer.parseInt(br.readLine()); //array length String s[]=br.readLine().trim().split(" "); //accepting the time for each SUPW work int a[]=new int[N]; for(i=0;i

### Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

Markdown Basics

• *italic* or _italic_
• **bold** or __bold__
• image?![alt text](/path/img.jpg "title")
• numbered list: 1. Foo 2. Bar
• to add a line break simply add two spaces to where you would like the new line to be.
• basic HTML tags are also supported
• mathemetical formulas in Latex between \$ symbol

Question tags:

×1,495
×318

question asked: 02 Nov '16, 15:51

question was seen: 1,162 times

last updated: 04 Feb, 17:16