### craus's blog

By craus, 3 years ago, translation, ,

Hi all!

On Wednesday 9th of December at 19 MSK there will be CF Round #335 (div 1 + div 2) on problems made by me and dalex. Let's play it!

We thank GlebsHP for his help in preparing the problems, Delinur for English translations and MikeMirzayanov for the Codeforces itself.

Scoring system and score distribution will be published when the round starts. Anyway this information makes no sense until the round begins.

Wish you accepted solutions and successful hacks!

UPD. Congratulations to the winners in Div. 2:

weiszago

Invisble

Shaikhitdin

and in Div. 1:

TooSimple

Um_nik

Egor

This is the problem analysis: blog/entry/22019.

•
• +452
•

 » 3 years ago, # | ← Rev. 2 →   -59 Aaaaaaand the excitement starts again !!! :))UPD. This's my feeling after the down voting .. and I must admit it really hurts
•  » » 3 years ago, # ^ |   +14 I think that now you're like this little boy.
•  » » » 3 years ago, # ^ |   +29 After the down voting ? .. yes. :)
•  » » » » 3 years ago, # ^ |   +35 Something that I want to mention here that I don't like it when I've a negative impact on the community that I'm part of. But sometimes you can't avoid it specially when you're a beginner like me .. and finally no one learns for no price.. and down voting is the price here ! :D
•  » » » » » 3 years ago, # ^ |   -89 It's really hard to get downvotes on CF :D
•  » » » » » » 3 years ago, # ^ | ← Rev. 3 →   -56 Deleted
 » 3 years ago, # |   -54 Việt Nam điểm danh :v
 » 3 years ago, # |   +20 Cows give a lot of fame. Why? Because: 3 1/2 hours before the previous contest (the one about cows): ~75 comments to the announcement (I really counted them). 3 1/2 hours before this contest: 7 comments to the announcement.
 » 3 years ago, # |   0 I think one must comment for his/her help or other discussion. Not to get the upvote or downvote
•  » » 3 years ago, # ^ |   0 wait till the contest ends...
 » 3 years ago, # |   0 Thanks to the contest notification message system too... :)
 » 3 years ago, # |   0 Is there a way to know if you have already voted on a blog?
•  » » 3 years ago, # ^ | ← Rev. 2 →   +7 Press to upvote/downvote you will recieve notification if you had already voted
 » 3 years ago, # |   0 hope the questions are as short as blog is
•  » » 3 years ago, # ^ |   +36 "Prove P=NP."
•  » » » 3 years ago, # ^ |   +56 P=NP0=NP-P0=P(N-1)either P=0 or N=1 sorry for silly joke guys :P
•  » » » » 3 years ago, # ^ | ← Rev. 2 →   -32 What if P is positive but N is negative? I think your solution passes only few test cases!
 » 3 years ago, # |   +31 "Wish you accepted solutions and successful hacks!" sarcastic :P
 » 3 years ago, # |   0 Good Luck Everyone, the time is too late for eastern countries
 » 3 years ago, # |   +6 Registered before the contest and appeared as registered right before it began. Once it started, I saw I can't submit any solution and went back to see , to my surprise, that I no longer appear as a participant. I guess I'm reporting a bug :-?
•  » » 3 years ago, # ^ |   +14 The author had actually protected you from that difficult tasks. You should be happy, though!
 » 3 years ago, # |   +40 Anyone finding the statement for Div2-B hard ? :( :(
•  » » 3 years ago, # ^ |   +23 Not able to understand problem div2 B.Please explain output at least.
•  » » » 3 years ago, # ^ |   0 I asume, that we must go step-by-step by commands to the robot. I think, that if you already was in this cell, you need to cout 0, else — 1. Last number is x*y-(number of couted 1), but i also have understood this problem only few minutes ago and this is my solution that come to my mind suddenly.
•  » » » 3 years ago, # ^ |   +5 Problem B is basically asking how many slots were visited before or not, and at the end how many were not visited yet. The key lies in the first paragraph when it says X*Y experiments are being made; one for each slot.
•  » » » 3 years ago, # ^ | ← Rev. 2 →   +6 You have a robot. This robot starts at position (x0, y0). There are various scenarios (one for every cell in the field). In one scenario, there is exactly one mine in a unique cell. So if the field is of size 3 * 4. X... .... .... .X.. .... .... ..X. .... .... And so on are the scenarios, where "X" means that there is a mine right there, and "." means a empty cell.Your robot is given a sequence of "moves", and you have to tell, for every "move", in how many scenarios your robot will explode after that move.In the first testcase: .... .R.. .... Is the map without any mine.How many scenarios are in which the robot explodes doing 0 moves?Just one, the one in which the mine is at the position of the robot.How many scenarios are in which the robot explodes doing 1 moves?The first move is to go up. So the only scenario in which the robot will explode after going up, is the scenario in which there is a mine in the cell (1, 2) (1-indexed).How many scenarios are in which the robot explodes doing 2 moves?The second move is to go up again, but the robot can't go up, so it stays at position (1, 2) and there is no scenario in which it will be blown up, because if there were a mine at position (1, 2) the robot would have explode in the last move, when it first got to that field. And you have to keep this process, for the last move, the robot will explode anyways, so you have to count the number of scenarios in which there is no mine in the path to the final field. Sorry for the english, I hope this can help.
•  » » 3 years ago, # ^ |   0 I know what is means, but can you implement it now...
•  » » 3 years ago, # ^ |   +3 I came here for exactly this. I reach 90 percent of it. And the rest just doens't make sense
 » 3 years ago, # |   +5 Too hard for me :(
 » 3 years ago, # |   +7 Wtf. Get TLE with an optimized O(nlogn) solution in Div 1 B if I use GNU C++, but Pretests Passed if I use MS C++. Why??
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 Ignore my stupid comment
•  » » » 3 years ago, # ^ |   +6 sorting
•  » » » » 3 years ago, # ^ | ← Rev. 3 →   0 Ignore my stupid comment.
•  » » » » » 3 years ago, # ^ |   0 Are you talking about div1 B/div2 D?
•  » » » » » » 3 years ago, # ^ | ← Rev. 2 →   +3 Reasons I am cyan: 1.I don't even read what people write properly >_< 2. ....Div 2 C :/
•  » » » » » 3 years ago, # ^ | ← Rev. 2 →   0 Hmm,2 3 4 1? If I get your description correctly, you move 2 3 4 to the end?If so, its wrong.
•  » » » » » » 3 years ago, # ^ |   0 I also do it from front, so I will only move '1' to the front so its correct for this case at least.
•  » » » » » » » 3 years ago, # ^ | ← Rev. 2 →   0 Well, it depends on how you've implemented it exactly, but generally speaking, you should find the longest subseq. of values increased by 1 (e.g. 3 4 5 6 7). When found, the answer is len(seq) — len(max_subseq)The possible sample for my example subseq above could be like that: 1 3 4 2 5 6 7
•  » » » » » » » » 3 years ago, # ^ |   0 But, answer is not LIS
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 OMG!!! I wrote this stupid comment 3 times ;_;
•  » » 3 years ago, # ^ |   0 I used the condition (A.weight < B.weight) || (A.weight == B.weight && A.inMST == 1) this leads sort sleeping.
 » 3 years ago, # | ← Rev. 4 →   +22
•  » » 3 years ago, # ^ | ← Rev. 2 →   +1 Cool !!! :) :) Mixing 3 sphere ? :D :D
 » 3 years ago, # |   0 in div2 D is the graph directed...because otherwise no loops dont make sense??
•  » » 3 years ago, # ^ |   +16 I think by "no loop" he means that no edge connects a vertex to itself.
 » 3 years ago, # |   +6 Div2B's statement is a little confusing, that's why there are more people doing C than B.
•  » » 3 years ago, # ^ |   +1 so any help clearing it up?i think many will really appreciate it.
•  » » 3 years ago, # ^ |   +7 So I'm no the only one who couldn't understand it :|
 » 3 years ago, # |   +1 Oh My Gods!!!! D is so easy :D . No time to implement. Yay! figured D during contest
•  » » 3 years ago, # ^ |   0 Sort edges. If 1st and 2nd one are 0, outpu -1, else add this edge to make a cycle in already made tree so far, using 1-edges
•  » » » 3 years ago, # ^ |   0 Since no body upvoted my approach, kinda doubting it now.... hmmm it sounded like kruskal's algorithm though
•  » » » » 3 years ago, # ^ |   +1 There is really sorting. But the algorithm is harder than you wrote.Test case: 4 5 1 1 2 1 3 0 4 0 5 1 The answer is -1. You cannot make such graph.My solution: First, sort the edges by weight, and if the weights are simillar, edges with b[j] = 1 will be eariler than with b[j] = 0We must have add variable, which contatins the current size of the graph.Then, do the following thing: 1). If the vertex is in the tree, locate add with add + 1 and increase add by 1. 2). If the vertex isn't in the tree, we try to locate some vertexes in our graph, which is not located. We cannot also add new vertexes using this edge (remember that we have a graph with vertexes [1 .. add]). If it is impossible, print -1. It can be proved by Kruskal algorithm.
•  » » » » » 3 years ago, # ^ |   0 Hmm....since multiple edges are not allowed. So you must keep track of theno. of possible cycles you can make uptil a 0-edge is found.
•  » » 3 years ago, # ^ | ← Rev. 2 →   +5 It is not that hard, but it is definitely harder than A, B (except the statement reading :) and C :)
•  » » » 3 years ago, # ^ |   0 But, is my approach correct?
•  » » » » 3 years ago, # ^ |   0 I don't really get what you mean, so can't say ) Seems close to what I've done, but not sure of your description.
•  » » » » » 3 years ago, # ^ |   0 Reversed Kruskal's algo. If a smaller edge is not included but a bigger one is, then that smaller edge(0 egde) must've been part of a cycle in a graph using the edges that are even smaller.
•  » » » » » » 3 years ago, # ^ |   0 Sounds right. I've done the same thing:Put the first included ones (2). Loop for others.If one in included, put it in connecting new vertex. If not, check for the free place in current graph and put it there. If no free place = -1.
 » 3 years ago, # |   +39 I have not seen a more confusing problem statement than of B.
•  » » 3 years ago, # ^ | ← Rev. 2 →   +4 Yeah I am still curious what they were asking. I can't imagine many non-Russians submitted for it.
•  » » » 3 years ago, # ^ |   0 If you make k moves, answer = 1 for that k if k-1th move didn't land in the same square, else answer for k=0. If k is the last in the string, pretty much any move will destroy it, so, all neighboring cells+the cell it is on at k-move is the answer for the last k.
•  » » » 3 years ago, # ^ |   +6 Well, I'm russian, but it wasn't an easy statement for us too :)
•  » » » 3 years ago, # ^ |   +5 Imagine the grid is full of bombs at first. The robot does X * Y tests. In the first try, it's obvious that he is gonna explode, since there is a bomb in the source point (he took no instruction, so k = 0). In the second one, the bomb that was on the source point is not that anymore, so he can take one instruction. If he walks to some position different from the one he is at, he is gonna explode. If he stays in source point he won't explode (k = 1). Keep doing this. The answer for k = s.size() is simply the total of tests (X * Y) minus the times he exploded in the other tests (since the path was out of bombs).
 » 3 years ago, # | ← Rev. 2 →   +3 In problem 'D' it should be written as "no self loop" as far as i learned.
•  » » 3 years ago, # ^ |   +15 it is already written in the output section that u != v. Please read the problem statement carefully.
•  » » » 3 years ago, # ^ | ← Rev. 3 →   +14 And problem statement clearly said that- Vladislav drew a graph with n vertices and m edges containing no loops and multiple edges.,I mean if we combine "u!=v" and the above statement then this problem becomes something else. So what m4mun said makes sense. UPD: Looks like i messed up "loop" with "cycle" in graph. Thanks to Swistakk for correcting.
•  » » » » 3 years ago, # ^ |   +23 No, it doesn't. "Loop" in graph theory doesn't have any other meaning than "self-loop".
 » 3 years ago, # |   +10 In C, Can the optimal answer have more than two types of projects?
•  » » 3 years ago, # ^ |   +5 No.
•  » » » 3 years ago, # ^ |   +9 Why?
•  » » » » 3 years ago, # ^ | ← Rev. 5 →   +8 C is a linear programming problem.minimize sum{xi}subject to sum{ai xi}>=p, sum{bi xi}>=q and xi>=0.To make it the standard form, we need to introduce two variables y and z. Then it becomes:minimize sum{xi}subject to sum{ai xi}-y=p, sum{bi xi}-z=q and xi, y, z>=0.The optimal solution of a linear programming problem can only be reach at extreme points of the feasible region. And extreme points must be solution to a linear equation system which has only one solution and is formed by some of sum{ai xi}-y=p, sum{bi xi}-z=q, xi=0, y=0, z=0. Since there are only two equation is not in form "x = 0", the extreme points can only have two nonzero components, i.e., optimal answer can be reach even if we don't used more than two type of projects. However, there are also optimal solution which is not reached at extreme points. So, the answer to the question should be YES. For example, ai={1,2,3}, bi={3,2,1}, {p,q}={2,2}. We can work on each project 1/3 day to get (2,2).
•  » » 3 years ago, # ^ |   0 Well, "can" but not necessary. It only occurs when there are more than two points lie on the same line.
•  » » » 3 years ago, # ^ |   0 Yeah sorry I meant if there exist a unique answer. I guess my mistake is somewhere else -_-
 » 3 years ago, # |   0 I spent a lot of time to understood the statement? My English too poor?
 » 3 years ago, # |   +1 This round is very interesting. I had lots of fun, even it is 2 AM here.
•  » » 3 years ago, # ^ |   0 Well,the same time.
 » 3 years ago, # |   0 Ok, how do you solve Div 2 — A? I have never had so much trouble with an A before D:
•  » » 3 years ago, # ^ |   0 let input be a1,a2,a3 and x1,x2,x3 if a>x then remain + (a-x)/2 else remain — (x-a) yes if remain >= 0
•  » » » 3 years ago, # ^ |   0 Sorry, I didn't understand that at all.
•  » » » 3 years ago, # ^ |   0 Why not remain == 0 but remain >= 0 my solution hacked I write remain == 0 Can you explain me ?
•  » » » » 3 years ago, # ^ | ← Rev. 2 →   0 you dont need to change if all a >= x not sure.
•  » » » » 3 years ago, # ^ |   +1 Not sure about english statement, but in russian it was "AT LEAST x,y,z", so >= x,y,z
•  » » » » » 3 years ago, # ^ |   +1 I made a mistake, I misunderstood condition more accurately did not read
 » 3 years ago, # |   0 After each contest , i ask myself " how many rounds left of my life of getting UNACCEPTED solutions and SUCCESSFUL hacks ? " :( :P
 » 3 years ago, # |   0 Well,I accomplished my code a few seconds after the test.
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 Me too. Made many stupid mistakes today......
 » 3 years ago, # |   +4 I try my best to understand Div.2 B.But who can tell me what's the "test" means?What kind of role the "mine" played in the problem?What are differances between blow up with"a bug in the code" and without it?Maybe a explanation for the sample could make it easier for understanding.
•  » » 3 years ago, # ^ |   +3 m*n times of work each time the mine in different block e.g. (1,1) (1,2) ... (2,1) (2,2) ... (m,n) and process the same command
•  » » » 3 years ago, # ^ |   0 Now I get it,thanks.
•  » » 3 years ago, # ^ |   0 It means the mine is in every position of the map,a position is a test
•  » » » 3 years ago, # ^ |   0 Thanks for help,it has bothered me throughout the test
 » 3 years ago, # | ← Rev. 3 →   0 ss
•  » » 3 years ago, # ^ |   0 you can only merge the same color
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 5 7 76 6 6
 » 3 years ago, # |   +1 What the? In 2 weeks, Round 337 Div 1 but Round 335 Div 2? :O
 » 3 years ago, # |   +4 What is the hacking testcase Div2 C ?
•  » » 3 years ago, # ^ | ← Rev. 3 →   +3 51 3 2 5 4correct answer is 3UPD: Sorry for the typo ... I fixed it
•  » » » 3 years ago, # ^ |   0 the correct answer is 2, move 2 to the beginning, then 1 to the beginning 1 3 2 4 5 -> 2 1 3 4 5 -> 1 2 3 4 5
•  » » » » 3 years ago, # ^ |   +3 Yeah, It is just a typo .. fixed it
•  » » » 3 years ago, # ^ |   0 the answer should be 2?!
•  » » » 3 years ago, # ^ |   0 Why? You can move 2 to the front and then move 1 to the front.
•  » » » 3 years ago, # ^ |   0 I think correct answer is 2 1 3 2 4 5 — > 2 1 3 4 5 — > 1 2 3 4 5 Have I made a mistake?sorry for bad english :-|
•  » » » 3 years ago, # ^ |   +3 You give me a heart attack !
•  » » 3 years ago, # ^ |   +8 thank Almighty, I almost had a panic attack seeing your test case :v
 » 3 years ago, # |   0 Div2C / Div1A, how to crack this nut?
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 Computed the length maxlen of the longest subarray that has a sequence of consecutive numbers sorted. and the ans is n-maxlen. Hope it is correct. I even survived two hacking attempts
•  » » » 3 years ago, # ^ |   +6 how about "2 1 4 3 5 6"?
•  » » » » 3 years ago, # ^ | ← Rev. 3 →   0 the sorted subarrays are: 1, 2 3, 4 5 6 therefore maxlen is 3 ans is 6-3=3I should have said subarray that contains continuous numbers in a sorted manner. Sorry for bad english_
•  » » » » 3 years ago, # ^ |   +23 Found a funny bug :)
•  » » » » » 3 years ago, # ^ |   +5 umm.... do u mean the upvote and downvote ? I had noticed it long time ago . So its a bug , eh? :v Didn't know. I just enjoyed the colours.
•  » » 3 years ago, # ^ |   +8 Think 'longest continuous sub-sequence' :) the answer is n-longest continuous sub-sequence. At least i passed the pretests with that.Take 1 2 3 7 5 6 4. THe longest continuous sub-sequence is 1 2 3 4. Now you can shift the remaining elements in a particular order to get the sorted array always. At least that is how I thought of it intuitively
•  » » » 3 years ago, # ^ |   0 1 2 4 5 7 8 3 6longest continuous sub-sequence: 1 2 4 5 7 8; 8 — 6 = 2, but answer is 5(you should find longest continuous sub-seq. that has step = 1 (e.g. 1 2 3 4, 7 8 9), i think)
•  » » » » 3 years ago, # ^ |   0 I'm not sure what you're saying. My logic was accepted. Here's my submission. Barely 5-7 lines 14730166
•  » » » » » 3 years ago, # ^ |   0 Sorry, you have correct solution. I thought "continuous" meant "increasing" or "decrasing".1 2 4 isn't continuous, right?(english isn't my native language)
•  » » » » 3 years ago, # ^ |   0 Sub-sequence is an ordered subset of the array, 1 2 3 5 7 8 is a subarray.
 » 3 years ago, # |   0 That system test tho.
 » 3 years ago, # |   +10 It was very difficult to understand the problem B (Div.2) isn't it?
•  » » 3 years ago, # ^ |   0 For me, Absolutely NO! And I think many agree with me.
 » 3 years ago, # |   +3 I still don't understand DIV2 B.... Can you explain output of sample test??? This is the most confusing statements I've seen...
•  » » 3 years ago, # ^ | ← Rev. 3 →   0 Sample test 2:Size of field: (2, 2). Start position (2, 2). Sequence: ULD.Each round the mine starts in a different position of the field.Round 1: Mine is in (1, 1). After executing UL the robot explodes, 2 moves.Round 2: Mine is in (1, 2). After executing U the robot explodes, 1 move.Round 3: Mine is in (2, 1). After executing ULD the robot explodes, 3 moves.Round 4: Mine at starting position (2, 2). After executing 0 moves robot explodes.Answer: 1 1 1 1.Each position i(starting at 0) means how many times the robot exploded after i moves.
 » 3 years ago, # |   +3 Many will fail on DIV.2/C .. for a simple reason , LIS doesn't work ! :)
 » 3 years ago, # |   0 Problem A of Division 2 was also pretty good. Great but easy logic and reasoning problem IMO. Infact, it took up more time than C for me :P
 » 3 years ago, # |   +9 What is the point to test our English language skill by giving a problem like B -_- -_- -_-
•  » » 3 years ago, # ^ |   0 So you want to say that I'm lucky because I'm preparing for The TOEFL test nowadays ? :D
 » 3 years ago, # |   +6 statement of problem div2 B was very poorly made
 » 3 years ago, # |   +6 I understand my bug in DIV2 D very late! cause that i couldn't submit the correct code :( but i learned this: first think then code :D
 » 3 years ago, # | ← Rev. 2 →   0 I'm absolutely positive that Div2-B would have had 300-500 more submissions if it were not for the problem statement.
 » 3 years ago, # | ← Rev. 2 →   0 In Div2D, test case 10given answer is 1 22 31 31 4My output1 24 31 31 4Checker Log iswrong answer Multiset of lengths of MST edges is not the same as required by the inputPlease tell what is the error in my solution? What am I missing?
•  » » 3 years ago, # ^ |   0 in your graph, the correct MST is { (1,2), (1,3), (3,4) }, but (3,4) should not be included to MST according to input.
 » 3 years ago, # |   +24 Interesting!! Even none could do four problems in that room.
•  » » 3 years ago, # ^ | ← Rev. 2 →   0 How he possibly could do 115 hacks in total ? I mean, considering 4 solved problems, how much time was left to be spent on this ?
•  » » » 3 years ago, # ^ |   0 1.5 hours, last problem solved is in 32nd minute
•  » » 3 years ago, # ^ |   +15 "Oops I accidentally succeeded with two hacks" said tncks0121 :D
•  » » 3 years ago, # ^ |   0 Who ever knew they take your points away for non-successful hacks!
 » 3 years ago, # |   0 I think, it would be nice if after the contest we could see the test-case for which the solution got hacked.Anyway, it was a great round!
•  » » 3 years ago, # ^ |   0 I agree. Except for the B statement, round was really good
•  » » 3 years ago, # ^ |   +3 You could see the hack case by filtering your solution in this page for Div2.
•  » » » 3 years ago, # ^ |   +3 Thank you!:)
•  » » 3 years ago, # ^ | ← Rev. 3 →   0 14723712 You can click on "View test"
•  » » » 3 years ago, # ^ |   +3 Thank you! :)
 » 3 years ago, # |   +43 1 point away from red :(
 » 3 years ago, # |   0 I accidentally made a submission, and now I am almost pupil
 » 3 years ago, # |   +3 When you hack peoples code using a testcase your own code fails on
 » 3 years ago, # | ← Rev. 3 →   +7 Div2 C hypnotize me :/and it must be interesting =D
•  » » 3 years ago, # ^ |   0 Div2 C was the easiest problem altogether
•  » » » 3 years ago, # ^ |   0 Yes i find out that after contest :)
•  » » » » 3 years ago, # ^ |   0 well actually, B could have been counted as the easiest if the problem statement was written a bit more clearly
•  » » 3 years ago, # ^ |   +18 Wow, I didn't know .jpg can store animation...
•  » » » 3 years ago, # ^ |   0 :) :) :p
•  » » » 3 years ago, # ^ |   0
 » 3 years ago, # |   +4 Hello, am I the only one who thinks that those two submissions share the same code ?
•  » » 3 years ago, # ^ |   0 That doesn't look suspicious for me at all. Common part is exactly LPSolver which was very definitely prewritten code and could have been easily shared before contest. Note that main() functions are definitely different.
•  » » 3 years ago, # ^ |   +21
 » 3 years ago, # |   +40 Yayy, today I have solved my first E ever ^.^ (more precisely, most valuable problem on a contest to include rounds with more problems)! Few times I was like two seconds or two chars\lines from getting it, I have solved many Es during virtuals, achieved >2700 rating along the way, but I was never able to get AC on E during real contest and today I finally beat that long standing challenge :)
 » 3 years ago, # | ← Rev. 2 →   0 Why answer is "Yes" ?Test #6Input0 1 00 0 0 AnswerYes
•  » » 3 years ago, # ^ |   0 It's Yes because the number of spheres you have of each color (0, 1, 0) it's greater or equal than the number of spheres you need of each color (0, 0, 0).
•  » » » 3 years ago, # ^ |   0 thank you!
•  » » 3 years ago, # ^ |   0 The problem statement says: he needs at least x blue, y violet and z orange spheres He does have at least 0 blue, 0 violet and 0 orange spheres.
•  » » » 3 years ago, # ^ |   0 thank you!
 » 3 years ago, # |   0 swap(Div 2.Problem B, Div 2.Problem C);
•  » » 3 years ago, # ^ |   0 swap(A,C) B is as it is