|
|
Общий форумI have tested, and 500 kbytes input reads about 20-30 ms in acm.timus.ru system. It equal to ~25 Mbytes/s speed read. Seems there installed HDD disk. There any plan to use fastest SSD disks in server side ? Many problems solutions actually took many times for accessing input/output, not calculating actual algorithm. 6 11 1 1 1 2 1 3 3 1 3 2 2 6 2 4 3 5 5 5 5 4 4 6 6 4 Answer: 0 Just prepare the equation as described and solve for c=x, display_sum + k - (entered_sum + x) == (n + 1) * 2; display_sum + k - entered_sum - x = 2 * n + 2; x = -2 * n - 2 + display_sum + k - entered_sum; if x < 0 then Big Bang! If you get WA5, check case, where policeman catch the thief until first tram arrive. I tried many times and I got TLE7, on code with cin cout, and the visual studio compiler. BUT with this input only 5 million numbers. It should not give TLE (I used ios and tie), which is more strange in g++, ABSOLUTELY the same code gives AC, with a time of 0.187, the code is MORE THAN 5 TIMES FASTER! I understand that g++ and visual differ a lot in terms of compiler settings, but to have such a big difference, I'm just shocked. I am very interested to find out why this is happening. Usually visual is faster, it is very interesting to find out which settings and in which cases make the compiler faster. you don't understand what your code does at all try to think more #include <bits/stdc++.h> using namespace std; #define go ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); typedef long long ll; int main() { go int a, b, c, d; cin >> a >> b >> c >> d; while(a < c){ if(a+b > c) break; a += b; c -= d; } cout << max(a, c);
return 0; } Let's assume delta is the difference between the nearest number in our set. Then we can approve delta will decrease by half (at least) in every 2 rounds. So the simulation will be executed at most 2log 10^18 time, it's about 120. k = 1 k = 2^m for some m k = n k = n-1 cases are enough for solve problem :) #include <iostream> #include <vector> using namespace std; int main() { int N = 45; int M; cin >> M; vector <long long> a(N+2); a[0] = 2, a[1] = 2;
for (int i = 0; i < N; i++) { a[i+2] = (a[i+1] + a[i]); }
//Fibonacci sequence
// F0 = 2; // F1 = 2; // Fn = Fn-1 + Fn-2 cout << a[M-1]; return 0; } Problems 2158-2173 from Ural School Programming Contests 2021 and 2022 were added to the Problem set. This is my tests: <Test 1> input: 10 5 8 1 0 2 0 3 1 4 1 5 0 6 0 15 1 16 1 output: No reason 5 15 6 16 1 3 2 4 <Test 2> input: 11 1 18 1 0 2 0 3 0 4 0 6 0 7 0 8 0 9 0 11 0 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 output: Liar <Test 3> input: 4 2 8 7 0 8 0 9 0 19 1 20 0 21 1 22 1 23 1 output: No reason 20 21 7 19 8 23 9 22 Edited by author 29.03.2023 21:01 Your output for test 2 is incorrect. My AC solution gives: No reason 1 13 2 14 3 15 4 16 6 17 7 18 8 19 9 20 11 12 try think like dp[length of string][sum of string] = count of numbers, answer is dp[9][s]. ds:=sqr(b)-a*c; the checking must look like this if ds+0.000000000001>=0 then ... Also when I calculated square roots for a*t^2 + 2*b*t + c = 0 as t1,2 = (-b +- sqrt(b^2 - a*c)) / a I had wa3. When I use b = 2.0 * b t1,2 = (-b +- sqrt(b^2 - 4.0*a*c)) / (2.0*a) I got AC. It is very curiously... I has WA#3. Even, i use check ds+0.000000000001>=0. I don't understand what's wrong. :( Can you talk me what in test 3? If ds passes this test, it may be less than zero. so, if it is less than zero, reset it to zero. otherwise, sqrt won't perform as expected. Also check for possible -0.000 replies (that happens in printf("%.3lf") when number is negative, but becomes zero after round-up). Some checkers do not like that. Is negative time a possible answer? :( There is curious fact, that you can get AC with eps = .1! Most important do not forget about: If ds passes this test, it may be less than zero. so, if it is less than zero, reset it to zero. otherwise, sqrt won't perform as expected. I also checked abs(ds) < eps , then t = -b/(2*a) Without it, it was WA3 THIS TEST 6 5 1 3 6 3 11112 22221 11112 22212 21112 22222 ANS:7 1 qwq Edited by author 23.07.2023 08:21 I am using Dijkstra's algorithm(and skip first vertex). I output a list of names whose shortest distance is less 141. I can't find the tests that crack my solution... Give me tests, please) When a user retweets, It is NOT their name that is added to the line! OMG, I had the same stupid mistake! |
|
|