| Показать все ветки Спрятать все ветки Показать все сообщения Спрятать все сообщения |
| Ideas for #41 | bstu_student | 1682. Чокнутый профессор | 7 авг 2018 14:16 | 3 |
Does anyon know, what is the longest test? I check a couple of numbers,with k= 99998 execution was the longest, but i'm not sure. UPD: I check (write k=99998 instead a reading number), and if WA#1 said truth, i reach the answere in 0,71. But this decision is still have TLE#41 :( Maybe, there is a harder 'k' for this task? Edited by author 07.08.2018 11:17 Edited by author 07.08.2018 11:17 You can try to binary search the test case. Put somewhere in your program the following if (clock() >= 0.9 * CLOCK_PER_SEC) { assert(K <= BINARY_SEARCH_MIDDLE); } You need to include <cassert> and <ctime> for these to work. Now (double)clock() / CLOCK_PER_SEC gives you program execution time in seconds. clock() >= 0.9 * CLOCK_PER_SEC checks that your program runs more than 0.9 seconds, in other words, approaching TL of 1s. This 'if' allows to execute code that will probably work only on 41th test case. assert( boolean expression ); exits with non-zero value if condition is not met. You could also do if (K <= BINARY_SEARCH_MIDDLE) { exit(your favourite non-zero number); } So, you can start with assert(K <= 100000 / 2) and so on. If you program fails on 41th test with RE instead of TL you change the bin search value. |
| why is my code not accepted? Visual C | Niloy | 1820. Уральские бифштексы | 6 авг 2018 21:53 | 2 |
i am doing (n%k)+(n/k) after putting restriction on k(k<=1000) and n(n>=1). but my answer is said to be wrong.please help. Edited by author 30.06.2013 01:11 14%4 +14/4=2+3=5 but ans is 4. every pancake has 2 sides so 13 pancake has 26 sides.pan fry can fry 4 pancakes at one minute one side. so, IF(2*13%4>=1) sum=((2*n)/k)+1; else{ sum=(2*n)/k; } calculate it . |
| No subject | a2ch | 1617. Ползуны | 6 авг 2018 18:22 | 1 |
"Some tram drivers are fans of fast driving, and they damage both rails and their trams. If a tram accelerates to a high speed, say 80 kilometers per hour, and then brakes sharply before a stop, it goes some distance skidding." Is this "initial D" reference?! Edited by author 19.08.2018 20:53 |
| WA#25 | die_young | 1754. Взрыв в пирамиде | 6 авг 2018 17:56 | 1 |
WA#25 die_young 6 авг 2018 17:56 Had problem with 25th test because of integer overflow. My program used int64_t which was not enough with my approach. Casting computations to double hepled me. |
| Mistake in English statement? | mouse_wireless2 | 1117. Иерархия | 6 авг 2018 11:30 | 2 |
The statement says "The number of intermediate levels of employees between an arbitrary employee who has subordinates (an ordinary employee) and the employee who has no superiors (the main superior) is the same for all ordinary employees." However, in the first paragraph, it says that "ordinary employee" means an employee who has NO subordinates. Therefore, I think the statement should say: "The number of intermediate levels of employees between an arbitrary employee who has NO subordinates (an ordinary employee) and the employee who has no superiors (the main superior) is the same for all ordinary employees." I looked at the Russian version of the statement with google translate and that seems to be the case. There is also no mention in the statement that the structure is that of a SINGLE tree (and not a forest), but the answer seems to assume this. The statement only says that each employee has "not more than one direct superior", therefore one can understand that it is possible, for example, that no employee has a direct superior (and therefore the structure is a forest of single-node trees). |
| DELETED | die_young | 2086. Найти Дениса | 5 авг 2018 22:37 | 1 |
Edited by author 06.08.2018 11:30 |
| I long time try, and found this formula: | xurshid_n | 1475. Курочка-Ряба | 5 авг 2018 12:45 | 6 |
4*h * n ( n + 1 ) > H minimal n - is answer!
but I doubt, that this is correct. It's correct or not? v0*t*sin(theta)+0.5*g*sin(theta)*t^2 *n>=sqrt(H*H+l*l) v0=sqrt(2*g*h) t=2*v0/g tan(theta)=H/l. seems to be correct PS. this problem is too simple.. Edited by author 12.10.2017 06:25 Edited by author 12.10.2017 06:40 the correct formula is 4*h*n*(n+1)>(H*H+l*l)/H Maybe provide some explanation Oh Your previous comment is the explanation Let O=(l,H), A=(0,0), B=(l,0). System of coordinates: OX=AO, OY = BO rotate on teta (teta=arctan(H/l)). Then: vx(t) = (v+gt)*sin(teta) vy(t) = (v-gt)*cos(teta) x(t) = V*sin(teta)+g*sin(teta)*(t^2)/2 y(t) = V*cos(teta)-g*cos(teta)*(t^2)/2 First point: (l, H) => x=0, y=0 Second point: y(t)=0 <=> t=2*v/g x(2*v/g) = 4*(V^2)*sin(teta)/g = d = 8 * h * sin(teta) (mg(H+h)=mgH+m*(V^2)/2) x = d, y = 0 Distance between First point and Second point = d Distance between Second point and Third point = 2*d ... Distance between i point and i+1 point = i*d If n = answer => d+2d+3d+...+(n-1)d<=sqrt(H^2 + l^2) d+2d+3d+...+(n-1)d+nd>sqrt(H^2 + l^2) Edited by author 05.08.2018 12:52 |
| why wrong ans? | Azad | | 5 авг 2018 11:48 | 1 |
#include<stdio.h> int main() { int n,m,sum; scanf("%d \t %d", &n ,&m); if(n<=4000 && m<=4000){ sum=n*(m+1); printf("%d",sum); } return 0; } |
| Why?! | Anny Kyort | 1872. Просторный офис | 5 авг 2018 04:58 | 2 |
Why?! Anny Kyort 11 окт 2014 19:48 |
| Is it solvable without long arithmetic? | Lomir | 1547. Перебор паролей | 5 авг 2018 03:53 | 5 |
I Solved it with java BigInteger. Is there any solutions without long arifmetic? Only with java BigInteger :) Even if you manage to operate with letters directly, your code will turn into some weird base-26/27 long arithmetics with those letters as digits. I'm solve it with long arithmetics on C++ |
| Можно ли решить задачу без длинной арифметики? | pizdec | 2086. Найти Дениса | 4 авг 2018 23:26 | 1 |
Ура! Решил с длинной арифметикой. eps = 0.0000000000000000000000000000000000000000000000000000000000000000001 Задача геометрически простая, но реализация в целой арифметике неприятная (ответ всё равно будет вещественный, но алгоритм можно сделать абсолютно точным при сравнении точек). Лучше использовать длинную вещественную арифметику. Edited by author 06.08.2018 12:36 |
| O(V^3) - OK in C++ , tl4 in Java ... | Martin_fmi | 1421. Кредитные операции | 4 авг 2018 20:21 | 4 |
The same algo gives tl 4 in java ... In C++ I use vector of vectors for the capacity matrix as well as in java and the input is with the Scanner class . How can I optimize ? Thanks in advance. Did you read the FAQ (Frequently Asked Questions) ? I have TLE4 in pascal! why? I don't know. Using C++ and good old Dinic you can get 0.015ms. Actually, you can perform greedy initialization in linear time (of matrix size) and get AC with most suboptimal flow algorithms. |
| checker | ASK | 1659. Правильные треугольники | 4 авг 2018 14:51 | 2 |
#!python3 s = """0 30 -25.9807621135 -15 25.9807621135 -15 3.711537444785714 10.714285714285715 -11.134612334357143 -2.142857142857144 7.423074889571431 -8.571428571428571 18.557687223928568 23.57142857142857 -29.69229955828571 4.285714285714285 11.134612334357145 -27.857142857142854""" import matplotlib.pyplot as plt from math import cos, sin, pi fig = plt.figure() ax = fig.add_subplot(111,aspect='equal') r=[[float(a) for a in p.split()] for p in s.split("\n")] def d(a,b): return (r[a][0]-r[b][0])**2 + (r[a][1]-r[b][1])**2 def z(a,b): return abs(a-b) < 1e-6 a = 0 for i in range(len(r)): for j in range(i+1,len(r)): for k in range(j+1,len(r)): if z(d(i,j),d(i,k)) and z(d(i,j),d(j,k)) and z(d(j,k),d(i,k)): a += 1 x = [r[t][0] + 0.5*cos(2*pi*a/9) for t in (i,j,k,i)] y = [r[t][1] + 0.5*sin(2*pi*a/9) for t in (i,j,k,i)] plt.plot(x, y, '-') for p in r: plt.plot(p[0],p[1],'bo') plt.grid() plt.show() print(a) |
| Why my program wrong in 4 test? give some tests!!! help plz (s menya pivo) | Tolstobrov_Anatoliy[Ivanovo SPU] | 1094. Дисплей | 4 авг 2018 10:08 | 7 |
var s:string; m:array[-50000..50000]of char; i,min,max,u:longint; begin readln(s); u:=0;min:=90001;max:=-90001; for i:=1 to length(s) do begin if s[i]='<' then dec(u); if u<1 then u:=1; if s[i]='>' then inc(u); if (s[i]<>'>')and(s[i]<>'<') then begin m[u]:=s[i]; if min>u then min:=u; if max<u then max:=u; inc(u); end; end; for i:=min to max do write(m[i]); end. The length of the screen is 80 symbols! man give test plz. With my mistake! Here is a piece of code: ........................................... s, res: string; p, i: integer; readln(s); res:= ''; for i:=1 to 80 do res:= res+' '; p:= 1; for i:=1 to length(s) do begin if s[i]='<' then begin dec(p); if p<1 then p:=1; end else if s[i]='>' then begin inc(p); if p>80 then p:=1; end else begin res[p]:= s[i]; inc(p); if p>80 then p:=1; end; end; write(res); ............................................... Something like that will give U AC. I'm not sure, but I think it is because signs are "(:;-!?.,)" 1) Use a line long 80 2) Read out symbols In my case, the problem was that after writing char out I didn't wrap the cursor back to the beginning. |
| WHAT'S TEST 7? | invokerj | 1114. Коробки | 4 авг 2018 05:40 | 3 |
can't pass TEST#7, just can't,,,, Answer is 10549134770590785600 ;-) |
| A Test | joaopfg | 1424. Маршрутка | 4 авг 2018 03:40 | 1 |
A Test joaopfg 4 авг 2018 03:40 A test which help me to discover a bug in my code: 5 1 4 1 1 2 2 4 4 5 3 5 Answer: 3 1 2 3 |
| Restricted function.Python | Ilya_python | 1263. Выборы | 3 авг 2018 00:39 | 1 |
import numpy n,m=input().split() a=[] for i in range(int(m)): a.append(int(input())) b=numpy.zeros(int(n)) for i in range(int(n)): b[i]=a.count(i+1)/int(m)*100 print('%.2f' % b[i]+'%') Answer from system:Restricted function |
| WA 14 | Md sabbir Rahman | 2017. Меньшее из зол | 2 авг 2018 15:42 | 1 |
WA 14 Md sabbir Rahman 2 авг 2018 15:42 Getting wa @ 14, can somebody please give me test cases for test 14? |
| hint | gaxxx | 1080. Раскраска карты | 2 авг 2018 12:47 | 2 |
hint gaxxx 19 июл 2014 21:19 don't use scanf("%d") Edited by author 19.07.2014 21:19 Why? It works fine for me. |
| 高精度。。。 | chenguanhong | 1513. Басня о лимоне | 1 авг 2018 17:50 | 2 |
高精度。。。 chenguanhong 30 окт 2013 17:45 要用高精度。。。long long只对10个点。。。 Use high precision. . . Long long only has 10 points. . . |