|
|
Общий форум[code deleted] Edited by author 02.04.2019 21:28 Edited by author 02.04.2019 21:49 Edited by moderator 19.11.2019 23:34 Change while (!cin.eof()){ cin >> a; mass.push_back(a); } mass.erase(mass.end()-1); To while (cin >> a) { mass.push_back(a); } Wonder why this task has a 147 complexity. Just sort and write Factorize (in 1..9 figures) the N and then reduce the resulting number of figures. For each i = 9 to 2, repeatedly divide n by i until it cannot be further divided or the list of numbers from 9 to 2 gets finished. Also, in the process of division push each digit i onto the stack which divides n completely. After the above process gets completed check whether n == 1 or not. If not, then print “-1”, else form the number k using the digits from the stack containing the digits in the same sequence as popped from the stack I didn't understand if a player is hit by another ,what will be the changed condition of him? max(0,cur-1) or max(0,cur-2)? if "HIT IN BODY" then max(0, cur - 1) if "HIT IN HEAD" then max(0, cur - 2) n, k =map(int, input().split(' ')) z=0 time=0 num = 1 progress = 2 if k==1 and n==1: print(n) elif k ==1: print(n-1) elif k>=n: time+=1 while num<n: num+=progress progress*=2 time+=1 print(time) else: time+=1 while z==0: if progress<=k and num<n: num+=progress progress*=2 time+=1 else: z+=1 progress=k if num<n: while num<n: if num<n: time+=1 num+=progress print(time) Edited by author 16.04.2019 01:34 In the problem "2113. Survive the flood" I did't understand the condition of when the rabbit can jump to a cell and also I mean what's a jump height? Edited by author 15.04.2019 18:51 Здравствуйте. Это хорошо задача (для медианы не существует хорошего агрегата) требующая для точного решения хранения минимум N\2 чисел. И тем более эффективная по времени решения, чем больше чисел мы одновременно можем хранить. Поэтому хотелось бы точно знать что значит ограничение на 1MБ по памяти. 1. sort these orders for the following for loop; 2. can I serve current order? is there a not used day left for it? wow, that's easy if I can use std::set::upper_bound; 3. output our selected orders with delivery time. // wow accepted, so lucky I am. // after checked the discussion, found that this problem can be easily solve with priority queue, looks that priority queue is more convenient. Edited by author 14.04.2019 22:57 If you have WA 2 look this test 6 ans 1 3 10 ans 1 4 my programm gave for 6 ans 0 4 for 10 0 5 after changes about a1 = 0 AC.So a1 Not equal 0 It must be added to the statement. It IS in the statement: "Your program is to output two POSITIVE integers A and P separated with a space..." Take care of new line endings and make sure that the second line is always read properly. In my case the problem was that the second line was skipped because of wrong transition in my FSM so the wrong line was read into N, so it printed more characters after the point than it should. from sys import stdin s = "" for line in stdin: for i in line: if 'A' <= i <= 'Z' or 'a' <= i <= 'z': s += i elif 9 < ord(i) < 14 or ord(i) < 0: # <-- this elif about non-printable print(s[::-1], end = '\n') # characters end of lines, files, etc. s = "" else: print(s[::-1] + i, end = '') s = "" print(s, end = '') You can use for test this numbers: 9 3 11 7 9 13 25 7 11 5 The answer is 18. --- Hint: Use sort? Try to think about what you sort Please write Input and Output Test3 Edited by author 09.04.2019 23:05 [code deleted] Edited by moderator 20.11.2019 00:02 I understood the solution. But I didn't understand the logic, why 1 is added before dividing the number? Thank you. Because to get vote from i group you need to have more than a half votes. For example, If 7 you have 7 guys in a group, you need to have 4 votes. 7/2 = 3 3+1 = 4 Why you sorted the array?. Is there any need of it?. Try this test : tTTTTT ans:60 Edited by author 27.06.2011 02:14 Thanks, that really helped :D Thanks for help. The problem were in checking substrings with length less then 6. konec = int(input()) spisok = [] i=1 if konec <0: while i>=konec: spisok.append(i) i-=1 else: while i<=konec: spisok.append(i) i+=1 print(spisok) print(sum(spisok)) konec = int(input()) spisok = [] i=1 if konec <0: while i>=konec: spisok.append(i) i-=1 else: while i<=konec: spisok.append(i) i+=1 print(spisok) print(sum(spisok)) |
|
|