flamestorm's blog

By flamestorm, 13 months ago, In English

Thanks for participating!

1669A - Division?

Idea: SlavicG

Tutorial
Solution

1669B - Triple

Idea: Errichto

Tutorial
Solution

1669C - Odd/Even Increments

Idea: mesanu

Tutorial
Solution

1669D - Colorful Stamp

Idea: flamestorm

Tutorial
Solution

1669E - 2-Letter Strings

Idea: SlavicG

Tutorial
Solution

1669F - Eating Candies

Idea: MikeMirzayanov

Tutorial
Solution

1669G - Fall Down

Idea: MikeMirzayanov

Tutorial
Solution

1669H - Maximal AND

Idea: SlavicG

Tutorial
Solution
  • Vote: I like it
  • +67
  • Vote: I do not like it

| Write comment?
»
13 months ago, # |
  Vote: I like it +39 Vote: I do not like it
»
13 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Thanks for the round, I loved it!

»
13 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Thanks for the awesome round and light fast editorial!

»
13 months ago, # |
  Vote: I like it +14 Vote: I do not like it

My first full solved round! Let's goooo!

»
13 months ago, # |
  Vote: I like it +11 Vote: I do not like it

Looking forward to more div.4 rounds, so I can have flawless solves like this <3.

»
13 months ago, # |
  Vote: I like it +14 Vote: I do not like it

Also, there are video solutions here for people who prefer those.

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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!

»
13 months ago, # |
  Vote: I like it +31 Vote: I do not like it

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.

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    13 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I think you miss the case where the amount of candies the two eat overlapped

    • »
      »
      »
      13 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      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

      • »
        »
        »
        »
        13 months ago, # ^ |
          Vote: I like it +8 Vote: I do not like it

        You do not initialize variable temp, so its value is unpredictable:

        ...
                for(auto x : al){
                    ll temp;
                    if(b.find(x.first)!=b.end()){
        ...
        
  • »
    »
    13 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    使用双指针试试 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); } } }

»
13 months ago, # |
  Vote: I like it +3 Vote: I do not like it

I waste all the time debugging the split string in D. Look like I should learn some python :D

»
13 months ago, # |
  Vote: I like it +9 Vote: I do not like it

Problems F and G were (in my opinion) the coolest ones in the round. Not surprised to realise that was Mike who proposed them.

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    13 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    If some bit from A[1]&...&A[N] contributes to the answer, it means that every number has it, so in that case, n−count_i will be 0. In that case, that bit is catched by the answer anyways (since always k >= 0)

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

  • »
    »
    13 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    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 reference: 154321651 154359653

  • »
    »
    13 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it
»
13 months ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

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

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

In problem E, why does multiset get TLE and map get AC 154413991 154415571.

»
13 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

第一次参加codeforces,打卡 first time to participate contest on codeforces

»
13 months ago, # |
  Vote: I like it +5 Vote: I do not like it
»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

orz

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Hi! This was my first contest. I solved three problems but did not get any rating points. Can someone explain why so?

»
13 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Me with 1300 others after solving all problems! .... Le-m-gendary Greend_mister. (><)

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

orz

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Amazing tutorial. I upsolved all the problems using this tutorial and also improve my logic in solved problems. Thanks.

»
12 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Can anyone explain problem E(https://codeforces.com/problemset/problem/1669/E) logic(O(nlogn) or O(n)) in some detail by taking an example? I COULDNT UNDERSTAND EDITORIAL

  • »
    »
    9 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Given Solution Take O(n) Times because it's Use Frequency Array For Counting String So It's Take O(n) Time. But For Counting If You Have Use Map Or Unordered_map(C++ STL) Then It's Insertion And Deletion Take Log(n) Time So Overall Time Complexity Is O(nlogn).

»
11 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

ans += (1 << i); can anyone explain me why are we doing this in problem H ?

EDIT — i got it we are doing pow(2,i) .

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

OP Tutorial Bro Thanks For This Amazing Tutorial1.

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

flamestorm, if it is possible, can you tell me what is the difference between test 3 and test 45 in problem B? A reasonable Python solution takes 125ms on test 3, but more than 1s on test 45. Is there an anti-hashmap pattern, or something that I don't know of?

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

orz