|
|
Common BoardI have same problem. See you'v done it. What's wrong? Give please same tests. You solved problem. Thanks. Edited by author 17.08.2015 12:01 Edited by author 17.08.2015 12:01 7.503 2.501 ans: 25.000003 "If it is not possible to construct the fence from the specified blocks, write 0.00." - dementia binary search from the maximum side across the floors to infinity is a bad idea - a ternary search is better suited, it can be run over all segments equal in length to the root from infinity, and also for prevention it is worth adding a few additional random segments (about 10,000) I would highlight a few good infinities such as 5e6, 1e8, 1e10, 1e6, 1e5, 2.625e6 The order of the walls is not important #define ld long double ld arcsin(ld k) { if (k >= 1) { k = 1; } if (k <= -1) { k = -1; } return asinl(k); } (I hope you won't need this feature.) i think 1e-10 nice eps, but i dont sure Test 45 requires no changes. Just print input data in this case. use bitsets for quick restoring the answer Check if your code works correctly if there is only one meal in the restaurant 1 1 answer: 1 1 -1 answer: 0 Just realization problem, really easy. Rating is too big. Easy solution using 0.14 seconds, first try. Just realization with Python. Why rating is so big? Здравствуйте! Может кто подсказать, почему код не работает? Специально для задачи изучил дерево Фенвика и на питоне всё равно не заработало (на 9 задаче по времени не прошло) ****************************************************** n=int(input()) mas=[0]*n xp=[0]*32002 for i in range(n): lis=list(map(int,input().split())) #Принимается на ввод пара координат if (lis[0]-1)%4==0: if lis[0]!=1: mas[xp[lis[0]]+xp[lis[0]-2]]+=1 for j in range(lis[0]+2,32002,4): xp[j]+=1 else: mas[xp[lis[0]]]+=1 for j in range(lis[0]+2,32002,4): xp[j]+=1
else: if (lis[0]+1)%4==0: mas[xp[lis[0]]]+=1 for j in range(lis[0]+4,32002,4): xp[j]+=1 else: if lis[0]%2==0: if lis[0]!=0: if lis[0]%4==0: mas[xp[lis[0]]+xp[lis[0]-1]]+=1 xp[lis[0]+1]+=1 for j in range(lis[0]+3,32002,4): xp[j]+=1 else: mas[xp[lis[0]+1]-(xp[lis[0]+1]-xp[lis[0]-1]-xp[lis[0]-3])]+=1 for j in range(lis[0]+1,32002,4): xp[j]+=1 else: mas[xp[lis[0]]]+=1 xp[lis[0]+1]+=1 for j in range(lis[0]+3,32002,4): xp[j]+=1 xp[lis[0]]+=1 for i in mas: print(i) ************************************** Don't brute force :( If you give me your email i can send you really fun AC solution using 0,15 ms ) I use Python function .isdigit() to check if fraction is integer, but strings like "-12" gives False for .isdigit() check. So, in test 26 one of the fractions is something like -x, where x is integer. Edited by author 31.07.2024 13:33 hope they help someone test 1 5 1 0 0 0 0 0 answer 1 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 test 2 5 1 -11 47 -97 96 -36 answer 2 1.0000000000 2.0000000000 2.0000000000 3.0000000000 3.0000000000 test 3 5 1 -5 10 -10 5 -1 answer 3 1.0000000000 1.0000000000 1.0000000000 1.0000000000 1.0000000000 test 4 5 1 -19 66 -94 61 -15 answer 4 1.0000000000 1.0000000000 1.0000000000 1.0000000000 15.0000000000 test 5 5 1 -2 -3 4 -1 0 answer 5 -1.6180339887 0.0000000000 0.3819660113 0.6180339887 2.6180339887 test 6 5 1 47 47 -35 23 48 answer 6 -45.9605895781 -1.4565711031 -0.8277595971 test 7 5 1 -14 37 18 -42 -16 answer 7 -0.8937080620 -0.3737580555 1.2403250836 3.7621983673 10.2649426666 test 8 5 -37 41 34 -38 47 42 answer 8 -0.9916715391 -0.6140289854 1.6927104673 You can get AC with import java.math.BigDecimal, but in this case you should format output this way: import java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("0.000000000000000000##E0"); out.write(df.format(answer).replace('E', 'e').replace(',', '.')); where answer is your sum of the sequence. -280 19326 6488 -15295 (x2-156x+115)(x2-124x-133) 540 is to big rating for task that can be solved O(p * log p) without using fact that p is prime, doesn't it? P.S. I understand, that problem rating is auto-generated. In suffix tree, if you will iterate for every edge from l to r, that are assigned to this edge, you will get TLE Don't use int("smth"), because len of number can be greater than 4000 or use sys.set_int_max_str_digits() if you use python Edited by author 26.07.2024 17:14 be careful, you must output the number of stops in the new route k and NOT K+1 So, for example in C++ vector<int> res; ... cout << res.size() - 1 << " "; // check this. not cout << res.size() << " "; Edited by author 05.01.2014 23:39 or ... reverse(res.begin(),res.end()); |
|
|