Hello 2018!
If you're still thinking what to do on the eighth day of year 2018, pay attention! The first round for both divisions of the new year starts on January 8 at 17:35 Moscow time (what about other timezones?).
Four important components of Hello 2018 will be the same as in Good Bye 2017:
- Div1 + Div2 combined
- 8 problems
- 2 hours 30 minutes
- Rated
But there will also be a substantial difference:
- Different problems
The problems of this round have been proposed and prepared by YakutovDmitriy, budalnik and myself.
Thanks to everyone without whom this round wouldn't be possible as well: AlexFetisov, Golovanov399, KAN, MikeMirzayanov, PavelKunyavskiy, qwerty787788, VArtem, winger.
Good luck!
Scoring distribution: 500 — 750 — 1000 — 1250 — 1750 — 2250 — 3000 — 3500.
Problem tutorial can be found here.
Congratulations to the winners!
The difference is pretty substantial and unique.
How sweet we have tourist as a contest writer. Looking forward to the contest.
Yeah thanks to him we have the first hello contest of the whole time
Now I have a legitimate reason to skip school.
And work.
And porn
haha ^o^
And sleep
and exam
Why So Serious? :p :p
and food
and downvoting this comment.
and minecraft
Wow, wasn't expecting a round with different problems, you guys are full of surprises!
i can see contestRegistrants in Hello 2018 > Goodbye 2017
UPD: and most of them will be Legendary grandmaster
And Thanked Mike :D
WoW , Contest writer tourist , eagerly waiting for the contest.
Registration goal-10k :-)
And now tourist gonna be Top Contributor after Hello 2K18 :)
But there will also be a substantial difference:
Different problems
Best announcement <3
I'm not sure I understand this statement.
He said "Four important components of Hello 2018 will be the same as in Good Bye 2017: ..." before this.
In my case, I was seeing "Other problems" instead of "Different problems", and I thought he meant 8 problems + other problems. But then it's no longer 8 problems :p But then they fixed it. Not sure why I saw "other problems"
But there will also be a substantial difference:
Different problems
Different writers!
Is this the first Hello contest ever made?
yes
No, in 2015 there was such contest. It was put into gym and was unrated, but there was an announcement and countdown to it on homepage etc. http://codeforces.net/gym/100570
EDIT: Oh, actually it was already mentioned below, I have not seen it before posting it.
Best announcement ever!!
Don't miss the chance to hack legendary grandmasters (reals and fakes) :D
.
Nice, one of my biggest competitors setting the problems this time, gonna be fun mate!
It is less obvious if you change your icon too.
ЗБ ФЕЙК
Highest ranked person on CF will not be able to participate
So, round by tourist for both divisions and without any purple guys as problemsetters... Seems to be my very chance to stop performing THAT shitty on contests.
Your contest was good bro, but you should have given little bit easier problem C.
Your contests aren't shitty :)
Неплохое начало нового года!)
Hahaa nice one
Let's not forget the idea of the first Hello contest was from the Sith
3.14-rated
-_-
3.14 rated? reminds me of...
sounds like "pirated"
C'mon! I said the same thing but got 17 downvotes :/ doesn't anybody know "Monkey D Luffy" ?!
Tourist is going to be first contributor by the end of the contest!
Hello 2018.
This time I don't even have to bet for 10K+ registrants, so I bet for tourist becoming Top contributor! :v
*short sad story ...
He still has a shot at solving C
Tourist is so overrated. He says anything and people will upvote him
Metsuka is so underrated. He says anything and people will downvote him :(
Let's see who gets more upvotes or downvotes!
Short statements please!!!
I hope know who of the setters did every problem, at least at the end of the competition, but I really want to know during the real competition. Is like knowing who you are facing when you solve the problem.
You are facing thousands of other contestants bro
I can't wait to see these problems.
Logic Codeforces: participated in previous contest on 5/1/2018 and then the 8/1 is Hello 2018 ?? :D ??
We are pupil so we don't have right to express our opinion, or else we will be downvoted!
nahh nevermind, just speak up what you think tho, as long as they are not offensive
I wasn't offensive and they downvoted me!
you get downvoted because you are rude and cancerous, I doubt most people have so much free time to click into your profile to know that you are pupil before downvoting
maybe the logic is 2018 is 8th year in this decade, so hello 2018 on 8th day of this year?
nah. 2018 is 9th year to be correct
The other contest wasn't for both divisions
well it seems , the contest has legitimate reasons to cross 10k registrants.#Tourist.
https://i.imgur.com/giXAJFv.jpg
Finally a round that tourist can't take the first place :D
You should say: "tourist can't even pass the pretests".
Can any body tell me if i should sleep to prepair for the next day's exam or ... well forget it!
Now I wish I hadn't registered for a word games contest in my college. This will be sadly missed :(
This will be sadly missed
You mean the word games contest right?
No he means contest held by guy named tourist.
With 1100+ uvotes on this announcement , tourist gonna top 2nd leaderboard too.:)
chinese boy again changed his handle jqdai0815
GG...now the size of this table should be increased to fit in the page.
Or 10 other people should try hard to keep him out of the table.
9 other is enough I guess :P
That's the most unsatisfying thing I've seen today
up to 10K
can you please tell me , what does it mean by "different problems" ?? i think every problem is different , from different tags like number theory , graph , dp , dfs/bfs , dsu , data structures ,ad hoc etc .
but i can't understand why "Different problems" is specialized in the blog , can anyone explain ???
I believe that's joke. "Different" = "Not the same"[as in "Goodbye 2017"].
Yah , I think so :D :D
It's just like saying "Hah you are so smart".
ya ya ya :D :D
Yea, eighth day of 2018 is great time to finish new year's eve parties and write some contest :3 But please, could somebody remind me, why is tourist organizing another contest and I still haven't do anything to have my own one?
Oh, yea, I remember now, I'm so lazy, that's te reason... So hoping to see great tasks from you :D
Let's see if you can get upvotes by changing your color to nutella.
Yea, I've just noticed it... Really, all the time I'm getting upvotes only because of nutella? ;_; I now feel upset, so much racism on codeforces :/ And on the other hand, seriously, no one recognizes me? So much effort, so much tiring and no one recognizes Radewoosh...?
Life of !reds is like this
I recognize you Mateusz!!
But not just because of your efforts and nutella, we were sitting next to each other at IOI! :))
Dude i do. You were like a star when became nutella. With to 1 places in a row. That was really cool! What was the judge you mainly worked on?
Make Radewoosh Great Again!
Would you yield me an autograph if I say I do? :D
(you won my contest if anything xD)
pfff people recognize swistakk, not you
Are you trying to start a civil war in Poland?
I also recognize you Mateusz!!! (^o^)/
Holy crap it worked
Because you are still expert :V
So we finally see a contest from you Radewoosh, Hello 2019.
Seems you were determined to take Hello contest only, like him.
username should have a valid length. This is totally embarrassing
It's palindrome though!
Nah, the first letter is black, while the last is red.
Not if I don't see color.
It looks like a reflection, if you look carefully it's like water moving. :D
This is clearly a sound wave with compressions and rarefactions
He Should Got
HANDLE_LIMIT_EXCEEDED
He successfully hacked codeforces design
is it rated?? please don't downvote today is my birthday.
Let's see if this innovative strategy works
P.S Please don't downvote today is my birthday
thanks for the popcorn mate meet you @ the party
Can't wait for tommorow so I can downvote you
Happy birthday ,aha
Good Time! I don't have to skip class that day. Excited.
Before the contest ... tourist will be the first on the Top contributors list :)
Dang!
The comment is hidden because of too negative feedback, click here to view it
I hope that jqdai0815 will be the winner of the contest.
I am so shocked that no one has asked it, Is it rated though?
Mike did it :D
The Art of Errors Handling...
And the first character isn't black!
UPD: eh, sorry for the comment, it's him trying Grandmaster.
He plays with the handle and colors like a kid !
it was bad behavior to change the handle in such way just to ruin the CF page design !
such a
RED Coder
must be more wise and contribute to make this place better.Very true! Very wise!
He actually contributed in making the place better by making Mike add the handling for long handles :)
That moment when I see Div-1 Coder's code failed on system test and my code get AC on same problem :D
The moment i see U talking about Div1 Coders and you are PURPLE :D
it's all about New Year magic :)
yes i know , Work hard to make this magic real Bro :)
Yes I will try, Thanks :)
Why are you commenting everywhere? -_-
Look at the Top Contributors list. Only Two more then Top Rating and Top Contributor tourist Love You :). You Are my first crush <3
Or maybe just one??
Looking at the large number of upvotes for this blog post, I can't wait to see number of registrants exceed 10000
Can you consider:
Making drain lower?
Turning "handle magic" off for the contest?
Ugh. Sniping the typography nerds with that kerning.
World War 4 in next few minutes
is that M. Bison on your icon?
yes
glad to see another sf fan here
tourist finelly get the first place of the Top contributors :D
well done
with the minimum number of Blogs :D
Lovely scoring distribution
but I think problems will not be that easy
Hope, codeforces server work fine during the contest.
10 min delay
We have less than one minute so good luck to everyone!
Oh no, delay
Yeah Sure , Let's wait for 10k participants!!
It seems that we have more 10 mins to prepare the contest :)
Anyone facing this?
9K participants, yeeeeee
They are waiting for the total number of registrations to get 10000. Very greedy
Tourist can never create a complete problemset on his own, because he can't tell the difference between div2A-D
uh no he can, that's what a god-like problem-setter does.
He's a god-like problem-solver.
Wow. More than 9K registrants.
Extra 10 minutes for 10k registrants :)
codeforces hacking system is such a disaster now!
I can't even try to hack anybody cause my flash player isn't up to date :'/
me too :(
Use mozilla
Dear Admin , Please make sure that system testing is fast today unlike GoodBye Contest. :)
for A, is it possible to hack solutions of this form: cout << m % (1 << n); ??
no all possible is blocked
Is D ternary search on k?
binary search on k
When k is small, we have many options to choose from. So just greedily choose the least time consuming problems from sorted vector(acc. to 'a'). This gives a situation where every problem we pick contributes to score. But as k is small, this score is low.
When k is large, we don't have many options to choose from. So, we have many questions we can attempt, but not all of them might contribute to score, either due to not enough options with a value greater than k, or due to time.
So, on both sides of optimal k, we get lower scores.
Nope. Doesnt make sense at all. Its clearly binary search.
I somehow got WA with that.
When you try to be newbie and fool the predictor:
Was the hack 30 100000000 invalid for problem A?
I don't know how A was passing this test case.. I too tried to hack with similar test but failed which resulted in demotivation and regret of why the fuck I tried to hack and now I am going to be ripped off dark blue.
Maybe you are missing the endline between 30 and 100000000
I tried again with 30 (and in the next line)100000000 but it showed "ignored".
I couldn't get my code to compile, since apparently __int128's don't exist on CF?
http://codeforces.net/contest/913/submission/34030034
Please can anyone tell approach for 'C'?
If cost[i] < cost[i-1], we can just take 2^i objects instead of 2^(i-1). Just find the answer from binary representation of L.
Problem D seemed really fascinating but couldn't really think how to approach it !! Anyone who solved, can explain the idea behind it?
binary search on k
That's Nlog^2 right? I thought that it is possible to have a gap in ks, but it wasn't true so I missed this solution. But I wanted to make sure that I haven't missed a more efficient solution (mine is NlogN, but the difference shouldn't matter)
No, its NlogN. You can sort array t before binary search, and then you simply need one traversal inside binary search. But, you need to keep arrays a and t together, i mean, sorting array t will mix indexes, but you can keep vector of pairs or something to keep a_i and t_i together always.
Ohh shit, you're right. And it was much easier to code.
I think binary search, actually im pretty sure. First, sort t_i but keep a_i with them ( you can make vector of pairs). You binary search for res, and you go through array a and ask if a_i is bigger than res, if yes add t_i to sum. If you can add exactly res elements so that sum is less or equal to T, then just lo = mid + 1, othervise hi = mid- 1.
Shouldn't you check if a_i is >= res and not bigger than res. I used the first one and got WA.
Yes, >= , my bad.
We want to maintain multiset of times for value K when we do a cycle for k from n to 0. Just add all problems with a=k and check if first k elements sum of the set is <=T.
I've done ternary search by the a[i] ( the min value of a[i] that will appear in the answer ). I was late to submit. So, maybe someone did it with the same approach?
I did not use binary search or ternary search. I tried all possible answers in decreasing order maintaining the best set of problems so far, in such a way that each problem is added and removed from the set at most once. So it works in : solution.
Problem D is binary search, I didnt have time to submit solution, I was late for few seconds literally..
Mate! Just the same. Understand your feelings :(
I hope there is an elegant solution for problem E. It would be an implementation hell otherwise.
you need to think in terms of graphs and do some sort of shortest path algorithm which obeys given grammar
What about the lexicographical thing?
Will the simplest brute force work? Just iterate through all the possibilities of the combination of logic...It is not that slow I think.
I thought it work at first, but turned out that some of the answer is really long (more than 12 character), so brute force didn't work.
So I mean the brute force with minimal branch-cutting. The point is that the brute force must be implemented correctly.
And yes I think it is hard to debug because some of the expressions are really weird.
I did that and since possiblities are just 256.I hardcoded them
I saw your solution. How did you come up with the wierd formulas?
here is distance is the string and we can write comparator for that as required.
The implementation is not that bad. Just follow the grammar. The problem, though, it's one of the biggest piles of shit I have ever seen
here is simple code. http://codeforces.net/contest/913/submission/34031760
How can someone take n-1 integers as input using this loop and get pretest passed in problem B ?? Or am I missing something ??!!
It is given that vertex 1 is the root!
Looks like you didn't get my point. After n, there are n-1 inputs in the problem. But, this man loops from o to n-1, that means he takes n integers. How did he even get output ??!!
There is input stream closing. When stdin closes scanf doesn't wait for input, it just returns 0. Question is what is u. I don't know, but i presume, that u is dublicate from previous iteration.
Shitty Bug ! Spent 1 and half hour on a stupid bug!
I'm sure that this:
Passes system tests, in div2 A.
You know that sweet feeling when you've been debugging a source that is correct because it fails the example because the modulo is not the standard 1e9 + 7? Well now I do and it hurts like shit especially when I solved the problem 20 minutes before the end of the competition and I just found the bug...Anyway, apart from my mistakes, E was a total shit and I regret that I upvoted the contest
matthew99 finally makes a comeback. Congratulations !
Don't say this before system test. I'm scared.
:(
I see why fear is my enemy.
his solution to C failed system test :(
CF's hack system is a total disaster. It should be disabled IMMEDIATELY until admin replaces it's flash-based hack interface
At least AhnLab is not required! haha
Similar problem E link only output length.
When you realize after contest that in D it's a[i]<=m to count instead of a[i]>=m. -_- fml fmr(rating)
i also thought same for 1 hour lol
Wtf, me to))
I think i've messed it up because of the 1st test
what was the hacks for A and B ?
a was 26 100000000
the answer ?
It's true that Problem D is the final "Too Easy Problems" ? :) But anyway, nice contest and nice problems.
On problem A --> How on earth this --> 34020785 submission passed the inputs test 1:
1000000
1000000
test 2:
12123
12123
test 3:
123213
123213
Can anybody explain??
Even I got an unsuccessful hack attempt on a similar solution. What I observed was that the value of s becomes some large negative (something like -9.XXXX * 10^9) and the modulo returns the correct, positive remainder.
Although unsuccessful hack, I am impressed by the cleverness of those guys. I mean, cmon! The hackbait was TOO DAMN TEMPTING XD
In C++ standard reference casting from double/float to int has undefined behavior if the result lies outside the range of representable values. In VC and G++ compilers it returns MAX_INT for overflowing and the modular works well.
I failed to hack lots of problem A solutions because of casting from double(in pow method) to int returned MAX_INT and the modular operator returns correct answer. (However in C++ reference, it talks about undefined behavior for overflowing). Anyway I learnt something new :-)
Ah...give me 10 more mins I can submit E...so sad.
In Problem A, will the code using power function for all n can get Accepted and if not can anyone help me with the hacks that can be used or if the answer is yes then why is it so because there will be overflow. (sorry about bad English.) Thanks.
// C++ ll is long long
ll solve(ll n,ll m){ ll x = pow(2,n); return m%x; }
Seems like casting double to int with overflowing surprisingly gives -2^31 as an answer. int(pow(2, 1000)) = -2147483648. And yes, because m <= 10^8, m % (-2147483648) = m (which won't not be true for m > 2^30 or something).
m%INT_MIN=m
is true for all 32 bit signed integers exceptm=INT_MIN
. The reason is the way % operator is defined.a%b+(a/b)*b=a
always holds true, and forb=INT_MIN
,a≠INT_MIN
,a/b
when casted to int (rounded towards 0) returns 0. Thus,a%b=a
follows.Problem E of this contest is almost the same as today's Problem E.It makes me feel not so good that I struggled on E for about 1 hour only to give up and was told there was a similar problem on Codeforces just after the contest. Link
Does the following work on H? I didn't have time to write it due to having too many bugs on G.
Say the x1, x2, ..., xn split [0, 1] into n + 1 intervals: I1, I2, ..., In + 1. Now we do dp, with the observation that the answer on each interval is going to be a polynomial. The dp formula directly shows this. The rest is then just implementing some integrals to compute the density on a real number x after k steps.
Yes, basically that's it.
E is totally same with http://codeforces.net/gym/100867 problem E I don't think it's good.
can anyone please explain the approach for C?
Can someone please share there approach please!
Anyone have a list of their solutions for all 256 functions in problem E? I can't figure out why I got WA, here's my list: https://pastebin.com/r6Curstb
check here
such patience :)
Actually i did not have confidence if my original solution passes time limit or not.hence I did this.
good patience !
Why does my ternary search logic fail?
When k is small, we have many options to choose from. So just greedily choose the least time consuming problems from sorted vector(acc. to 'a'). This gives a situation where every problem we pick contributes to score. But as k is small, this score is low.
When k is large, we don't have many options to choose from. So, we have many questions we can attempt, but not all of them might contribute to score, either due to not enough options with a value greater than k, or due to time.
So, on both sides of optimal k, we get lower scores.
Edit : The test case I failed was due to
>
instead>=
But, as others did it with binary search, I wonder where my ternary search logic has flaws.
I created (and solved?) a harder version of problem D as I misread the problem statement as:
A task will be taken into account to the final score if a[i] <= total_solved_task. (Indeed, I pass all the samples with this interpretation)
And I wasted more than 100 minutes on it while 1k more contestants solved it :)
It's time to become a Candidate Master :)
In problem G, I add some last digits such that the result number N satisfies N % 2|N| = 0 and N doesn't end with 0 or 5. The rest is to find k such that N ≡ 2k modulo 5|N|. It seems to be done by induction.
I thought the same thing but forgot that N % 2^|N| needs to be 0. If you can prove the minimum |N| needed, there's a way to find k in O(5^(|N|/2) * log(|N|)). Also, it looks like 2^i passes through all numbers not divisible by 5 on modulo 5^|N|. The way to find k is finding the numbers 5^(i * floor(sqrt(n))) and starting from the number you want going back (multiplying by floor(5^|N| / 2) + 1 that's the modular inverse of 2) until finding a number that's from 5^(i * floor(sqrt(n))).
Edit: but probably there's a smarter way to solve it, something like getting the answer for 5^x using the answer from 5^(x — 1), since 2^i is a cycle through 5^(x — 1) and probably through 5^x so the answer for 5^x is i * size of cycle + answer for 5^(x — 1).
Can someone please explain to me why this submission on problem D passes the pretests?
On the first example test (which is usually the same as the first pretest), it outputs:
2 2 3 4
... implying that you get a score of 2 if you solve problems 3 and 4. But you don't, you get a score of 1 (since problem 3 requires 4 solved problems). Am I missing something or is the judge for this problem broken?
EDIT: nevermind, it seems like I interpreted the statement wrong. I thought a[i] has to be smaller than the total number of problems, but in reality a[i] has to be greater than the total number of problems... and reading through the comments here, it seems like I'm not the only one :P
D is straightforward binary search . Lost a good amount of time while debugging C ! :( . bad contest.
Just because you can't handle overflow doesn't mean contest is bad >:(
Hello 2018 but with the old name... So sad
I find this contest so much better than the good bye 2017. I'm very grateful to the authors.
Hello screencast
Correct way to solve C?
Also, hello 2018 and rating drop my old friend...
Let's update ci: ci + 1 = min(ci * 2, ci + 1). After this we may see that taking away 2N - 1 until L ≥ 2N - 1 is optimal since it's the smallest price we can get 2N - 1 litres for. Then there're two possibilities if there are remaining coins: you either take one more 2N - 1 or go and do the same thing for 2N - 2 till L ≥ 2N - 2 and so on.
Aha I see nice :) and Thank You
Look at my code
check this out that's why you are not red yet :v http://codeforces.net/contest/913/submission/34025378
And this submission:http://codeforces.net/contest/913/submission/34021142 Code clearly and only him using eval techniques with python. :)
What is TC 8 on problem C all about?
include<bits/stdc++.h>
using namespace std;
int main(void) { long long m,n; cin >> m >> n; long long result; result=pow(2,m); cout << n%result << endl;
}
How this code got AC for problem A? I used repl.it compiler and it gave RE.
update: sorry, it gives the correct answer.
failed :/
and failed :'/
and failed ×_×
...HELLO, 2018!!!
Is it just me or you also had these failed problem phases? in all last couple of contests, I had systest failed problems for stupid reasons, in all of them. I'm really stuck in this sh*tty rating because of the HUGE effect that a 1000 or a 500 point problem can have.
You know what's my problem with codeforces? I can solve all of the "easy" problems in a relatively small time, for example, I solved the first four in 49 minutes, not bad, but I'm not using the extra one hour and half for anything (Sometimes hacking, but you always have this belief that you can solve another one). And I'm not alone, usually, the easy problems are solved by more than 1000 people at the end of the contest. the next problem is solved by like 100 people, of course, I can't easily solve it, there are 100+ GMs competing too and they couldn't.
So what's the way for me to get a good rating? submit questions fast, if I don't I will get more penalty and since 1000 people already solved all of the easy problems, I will have a rank like 700+ which is not good. So I have to be fast. Alright, but getting pretest passed is also not a 100% guarantee to get a score of a problem. and when you fail to solve a problem what happens? you go miserably down on ranking.
Even if I have many good contests one after another and I bring up my rating, again there will be another contest, super hard to solve more than 3, and you just need a silly mistake on A to fail and with only B & C for example go down terribly.
I don't care about my ranking, I just don't like the feeling of being stuck in Div.2 for this long. Every time I have to solve things that are not really adding to my knowledge like Div2.A and Div2.B and a lot of times Div2.C.
Tl;dr, I just want sort of contests on codeforces, that have a mellow decreasing number of people who could solve the problems. something like 3000, 1500, 700, 300, 50.
I believe that virtual participating in previous contests, with practicing on being careful and quiet during reading and solving problems, will decrease the possibility of failing in post-test in real contests.
what's the easiest and fastest solution for C?
please explain completely(not just like most of editorials :))
UPD1:I read tutorial and it was easy and fast and complete enough :D
Is rating predictor alright? Doesn't seem so by looking at the rating predictions.
Things got pretty complicated in the predictor due to handle changes (newly-used handles will be identified as new users by the predictor, therefore, the prediction is way too different).
one of my friend solve A with cryptography
34024600
hi there
i've a question about my problem B
why this 34032197 sulotion should get acc while the MAXN = 1000 & somewhere i've used adj[1000] ????
My submission for problem D, fails on the 23rd test case, but the checker log is weird, I don't have access to the full test case, but my answer seems correct based on the little summary that I can see.
I think this error means that "You said max score possible was 89771 but the score calculated from the indices you printed is 89770"?
Not 100% sure but it seems this way.
hmm. Yes, thank you. I feel I got what's my bug now.
I had the same bug ;(
it says that the 89772 items you chose gave you actual score of 89770 not 89771 as written in the first line of your output, so I think the mistake is not obvious by just looking to the summary
Yes, I got accepted now. Also thanks to tourist for taking the time to read and debug my code.
what?
I messaged him about it.
Could you explain?
Why your code gets wa?
I explained you already in private message, anyway again:
If you answer more questions than the actual number, it might make other questions useless. (does this sentence make sense?!)
For example imagine we have infinite time to answer the questions and our "a" sequence is {2, 2, 2}. The answer is of course 2, but if we solve all three problems, we get 0 points.
Thank you :D
I forgot some statement
Unfortunately, your teacher considers some of the problems too easy for you. Thus, he assigned an integer ai to every problem i meaning that the problem i can bring you a point to the final score only in case you have solved no more than ai problems overall (including problem i).
Can anyone help me, Im getting TLE on D even though my solution is NlogN. http://codeforces.net/contest/913/submission/34032577
maybe there is problem with binary search? infinite loop?
i sort a[ i ] first, and when i do binary search, L = 1, R = max( a[i] ), this is my solution 34024763
Well... first, I see you do int a[100010], t[100010] but n is up to 2 * 10 ^ 5. Secondly, at some point in your code you have
res.clear();
, but a few lines later you accessres[i]
(vectorres
is now empty).Quick edit: it seems like by doing the above modifications (setting the array size to 200010 and commenting the
res.clear();
line) gets you accepted.Thanks so much! But its weird how I got TLE for mistakes that dont affect time but only corectness and memory (am I right? ).
In C (and C++), accessing out-of-bounds memory causes "undefined behavior", which is a term for "anything can happen and you (generally) don't know what to expect". Results of undefined behavior are implementation-specific (depends on the compiler). For example, it is not impossible that your out-of-bounds array access might have overwritten some data important in memory which caused you to TLE (maybe the variable which dictates the loop limit or the loop index, the return address of some function on the stack etc).
There is a substantial difference: https://www.diffchecker.com/zgfaXp6C :)
Hello 2018 by being Purple for the first time :)
Thanks tourist for a great contest! :D
So how was your experience from Legendary GrandMaster to Candidate Master? :P
Best downfall ever, mate ;)
The difference between WA on test 8(pretests passed) and AC: [](https://imgur.com/gallery/LLTRc)
shbhm_5301 Please explain your solution of C (34024529)
Thank You [user:tourist]for nice and pretty problem. Now I am a Blue Coder :'(. I am Very Happy For That. :). After 2 years.
But your account is registered just 10 days ago, which account you used before?
old handler user name. I didn't like then I used my new id :)
Okay, congratulations
Thank you very much for the great contest tourist. I've finally become blue.
TC 17 of problem B:
13 1 2 2 2 1 6 6 6 1 10 10 10
Node 1 doesn't have 3 leaf children, so it isn't a spruce tree. But the correct answer is YES. Can someone explain it to me?
I just got the idea and understood why the correct answer is YES. My big mistake :(.
The answer for that test case is NO.
I figured out that I understood the problem correctly but there is a bug in my program. How silly of me! :(
http://codeforces.net/contest/913/submission/34021734 Accepted
http://codeforces.net/contest/913/submission/34049526 Wrong answer on test 4
http://codeforces.net/contest/913/submission/34049558 Accepted
What is diffrent ? I edit just one line about ll b in dfs function..
This is interesting. It is heavily dependent on the compiler, but it seems like these two lines can get interpreted differently:
Again, this is compiler-dependent, but I tested this on VC++ 2017 and it seems like in the first case the compiled code interprets 1e19 as a double (which it is) and converts it to an unsigned long long at runtime via a low-level function
__dtoul3
. As you might know, conversion from double to integral types can introduce precision errors. In the second example, the compiler treats(ll)1e19
as an integral constant (i.e. it behaves exactly as it would if you were to write 1 followed by 19 zeores) and therefore no conversion error occurs.I know this is an unpopular opinion, but this is why I always advise against using scientific notation for integer constants. Even though most modern compilers behave in the same way and work correctly, the C++ standard leaves many details about conversions to the specific implementation of the compiler. Although this doesn't usually introduce problems, sometimes it just might (and this is the perfect example). Just write 100000 instead of 1e5. You'll have to type out a few extra characters, but you'll avoid unpleasant surprises :)
P.S.: my compiler gives me this warning in the first version of the code:
warning C4244: 'initializing': conversion from 'double' to 'unsigned __int64', possible loss of data
Even though it is in no way a must, personally I always fix warnings before submitting a code. It's good practice. (the company I work at compiles with the "treat warnings as errors" option).Thank you for your detailed explanation!! :>
interprets 1e19 as a double (which it is) and converts it to an unsigned long long at runtime
Yes, it interprets 1e19 as double, but it will promote the dfs return value to double and later cast to long long when assigning to b (this is where the warning comes from). Integer values are always promoted to floats, not vice versa.
Also I don't get why it would be dependent on the compiler, seems well defined to me?
Hooray
That means we will have "Hello"-contests anually, doesn't it?
Does anyone notice that this contest's rating changes are lost?
UPD: It has returned already :)
yes,In my case too.