|
|
Common BoardI 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! Give me some tests, please Edited by author 11.11.2008 23:43 abab answer - 7 It helped me with WA3 (Z-function O(N^2) solution) rthfdffdfdfffffdddffdgdfdfdg answer - 349 hshhflgseiuajsliouew answer - 202 gggfffgggghhhhghh answer - 126 aaaabbbbfghjjlltrgttcdssdbnpoiuyewtdarsuorprpooeuyywdgfxsdkkvcjbidfryieiue answer - 2713 Edited by author 02.02.2009 20:14 Edited by author 02.02.2009 20:21 If you use Z-function don't forget re-initialize z-array before each iteration!!! z[0]..z[i] = {0} hm... This are tests successful, but error on 1 test try bbbabbbababb answer is 51 999 987.23 answer 934270.79 3 100 answer 0.00 4 1000 answer 0.00 5 12 answer 0.00 thank you. Try this if you have WA3. eps >= 1e-9 - WA26 eps = 1e-7 - AC plese help test 104 Obviously sqrt(1e18) operations will TLE. You need to do factorization smarter. Perhaps some divisors are not needed to find the solution? 4 5 4 5 1 2 2 1 2 3 3 2 3 4 ans: 14 |
|
|