Codeforces Round #784 (Div. 4) Editorial
source link: https://codeforces.com/blog/entry/102101?f0a28=1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Codeforces Round #784 (Div. 4) Editorial
11 days ago, # | Thanks for the round, I loved it! |
11 days ago, # | props on hosting a div 4 round |
11 days ago, # | I was too slow to finish H |
11 days ago, # | Thanks for the awesome round and light fast editorial! |
11 days ago, # | Looking forward to more div.4 rounds, so I can have flawless solves like this <3. |
11 days ago, # | The problems were so easy. In my personal opinion it should have been Div. 5. next time, try to do smth more difficult. ez top 1 <1400 |
-
Yeah I definitely agree that this contest was too easy. Pretty much everyone I know, including several newbies, solved every problem.
I'm all for easier contests for less experienced coders, but 3383 people AK-ing the round makes the first 3k spots separated by penalty only, which just shouldn't happen.
I think Div. 4 rounds are a really good addition to Codeforces, and I believe that today's problemset was really fun, even though I liked the difficulty curve from round 640 better.
11 days ago, # | I was too slow. Feels so bad knowing I could've done tons better if only I was faster. :( I'll try harder next time. Thanks for the contest guys! |
11 days ago, # | This may come off as an unpopular opinion but I feel the round should have at least consisted of 1 ~ 2 1600 rated greedy or ad-hoc style problems. Lately, most CF div 2 rounds had very annoying C or B problems and it would have been nice to have a problem of those nature in this round. (Today's D was the closest to what I am trying to say) The div 3 rounds's most difficult problems are at least of 1900 rating (non inflated) even though it is meant to be for < 1600 rated people. I think it is as fair to have at least 1 ~ 2 1600 problems in div 4 rounds too following the div 3 standards. Just some suggestions from my end. |
11 days ago, # | Hi, can someone point out why i am getting wrong answer here for Question F. If i am running that test case on my system then i am getting the correct output but here it shows a different output. Can someone point it out why. Thanks in advance. Code : https://codeforces.com/contest/1669/submission/154423744 |
-
I think you miss the case where the amount of candies the two eat overlapped
-
No NO, actually for this test case
6 1127 5715 4917 682 1721 4439
Judge is telling my output is 6, but on my system its coming 5 which is the correct answer
-
-
使用双指针试试 use double poiters, and move both while left and right have same amount,move only left when left has less,otherwise move the right
import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws IOException{ BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); PrintWriter pw=new PrintWriter(System.out); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=0;i<n;i++){ int k=sc.nextInt(); int arr[]=new int[k]; for(int j=0;j<k;j++){ arr[j]=sc.nextInt(); } int ans=0; int l=0,r=k-1; int a=arr[0],b=arr[k-1]; while(l<r){; if(a==b){ ans=l+1+k-r; l++; if(l<k){ a+=arr[l]; } r--; if(r>=0){ b+=arr[r]; } } else if(a<b){ l++; if(l<k){ a+=arr[l]; } } else{ r--; if(r>=0){ b+=arr[r]; } } } System.out.println(ans); } } }
11 days ago, # | I waste all the time debugging the split string in D. Look like I should learn some python :D |
i am getting TLE in test case 3 for problem E. 2-Letter Strings . Can anyone explain why is that? Thank you |
11 days ago, # | Problems F and G were (in my opinion) the coolest ones in the round. Not surprised to realise that was Mike who proposed them. |
11 days ago, # | in problem H why we not initialize ans=A[1]&A[2]&...A[N-1]&A[N] because why not that also contribute to final answer?? please reply |
Starting questions were easy but last ones were little bit optimising... |
11 days ago, # | Very good contest for beginners. It would be better if the H problem has a Python solution. The same solution like in tutorial gets TLE. |
-
Unfortunately, it's pretty rare to see a contest with vanilla cpython fully supported all the way up through its hardest problems.
The main way around this has been for platforms to add pypy support (for which 64-bit has been a vast improvement), combined with substituting in faster input functions... and it's pretty workable (not without quirks/caveats though).
For some reason, my code for D didn't work even though the algo is the exact same lol Edit: small bug cost me badly :( but I had to leave the contest early |
10 days ago, # | |
10 days ago, # | Hi! This was my first contest. I solved three problems but did not get any rating points. Can someone explain why so? |
10 days ago, # | Me with 1300 others after solving all problems! .... Le-m-gendary Greend_mister. (><) |
10 days ago, # | |
-
Yes, there is a big difference! In the first code where you got TLE, you have not completed taking inputs! you have T test cases, for each test case you are given a value of N and N elements,
Now in the first code, in the same loop where you are taking input, you are BREAKing that loop just because you have found out your answer! It means if you have found your solution after taking the Y number of Inputs, the remaining N-Y inputs are not taken. So those N-Y inputs will be taken for the next test case, resulting in an Error/WA (Not necessarily TLE)
You have to take input of all the N elements in each test case.
Solution: ALWAYS TAKE INPUTS SEPARATELY and do perform Operations on the input you have taken to avoid this type of mistake.
10 days ago, # | I think I might be misunderstanding 1669E - 2-Letter Strings. I thought one could just read the strings and always use the last read string (e.g., s_j) to compare all the j — 1 strings before. I've read the editorial and it makes sense to me. My reasoning tells me that my logic should be the same, so I came up with this code, but it seems to be wrong:
I'd appreciate any help! I'm probably missing something silly here ^^' |
-
You don't have a correct algorithm. You add 0 or 1 to res instead of the quantity of pairs. Please, read tutorial.
-
Are you sure about that? :o Can you give a counterexample? If I add 1 whenever a pair (i, j) with i < j satisfies the given condition, I don't have to add the whole quantity of pairs at once. In fact, when changing the vector to a plain array instead, it passes the first 4 tests (but times out at some point because it's O(n^2)). If you'd like me to, I can make an example to clarify the idea of the algorithm.
-
Excuse me, your idea is correct. Every new string can add to result as many pairs as many previous strings have exactly one different letter with new one. It is not a good idea to use v.size(). You make a vector v with n empty elements, don't use these elements and append additional elements for every new string. It would be better to input directly cin >> v[j] and use j rather than v.size() — 1. It will be 4 times faster. Of course, O(n^2) is very slow. Only 121 different strings are possible. You can count the quantity of every possible string and calculate the total quantity of pairs after that.
-
-
10 days ago, # | Where can I find a video tutorial |
10 days ago, # | I wrote E so complicated that I was dizzy!!! My stupid code |
10 days ago, # | I could have increase my rating, but I forgot it :) |
10 days ago, # | what is the meaning of ORZ? |
-
You can think of it as a gesture
-
gesture, what type of?
-
A man fell to his knees
-
-
10 days ago, # | Amazing tutorial. I upsolved all the problems using this tutorial and also improve my logic in solved problems. Thanks. |
why d problem solution is giving error? anyone please help for i in range(int(input())): n = int(input()) l = input().split('W') bad = False for s in l: b1 = 'R' in s b2 = 'B' in s if (b1 ^ b2): bad = True print("NO" if bad else "YES") 12 5 BRBBW 1 B 2 WB 2 RW 3 BRB 3 RBB 7 WWWWWWW 9 RBWBWRRBW 10 BRBRBRBRRB 12 BBBRWWRRRWBR 10 BRBRBRBRBW 5 RBWBW Traceback (most recent call last): File "main.py", line 1, in for i in range(int(input())): ValueError: invalid literal for int() with base 10: '12 5 BRBBW 1 B 2 WB 2 RW 3 BRB 3 RBB 7 WWWWWWW 9 RBWBWRRBW 10 BRBRBRBRRB 12 BBBRWWRRRWBR 10 BRBRBRBRBW 5 RBWBW' ** Process exited — Return Code: 1 ** |
9 days ago, # | Thanks for awesome round |
9 days ago, # | Hello I think my points are deducted because something related to ideone I got a mail that my solution significantly coincides with other solutions I use Ideone most probably in public mode I didn't know that anyone can copy my code in ideone and I received an email that I broke some rule. Please if my points are deducted due to this issue I will not use ideone again I will search how to change the public mode in ideone to private. thank you |
9 days ago, # | how to use c++ to finish question D? |
8 days ago, # | For 1669D — Colorful Stamp, if you did it slightly differently than the editorial, try this input
It should output "YES" |
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK