Please read the new rule regarding the restriction on the use of AI tools. ×

vinhhocptit's blog

By vinhhocptit, history, 5 hours ago, In English

Today, I had spent hours trying to solve problem : (https://codeforces.me/contest/1334/problem/C) and submitted several solutions with an O(n) complexity, but I kept getting a TLE. After some further inspection, I changed from using cin to scanf, and my solution was finally accepted. While it's well-known that scanf is slightly faster than cin, I was surprised by how much of a difference it actually made in this case.

TLE Code : 284211972 Accepted Code : 284212724

This blog may not be overly educational, but I just want to highlight that even a O(n) solution can lead to a TLE error. Understanding this can help you avoid the frustration and wasted time that I experienced.

  • Vote: I like it
  • -1
  • Vote: I do not like it

»
5 hours ago, # |
Rev. 2   Vote: I like it +5 Vote: I do not like it

ios::sync_with_stdio(false);cin.tie(nullptr); cout.tie(nullptr);

Use this if you want to use cin/cout

  • »
    »
    5 hours ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    what does cout.tie(nullptr) do?

    explanation

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

      cout = Output + cout.flush(). But if you use cout.tie(nullptr) it will untie the cin with cout. So cout = Output only. In interective problems if you don't use cout.tie(nullptr); you don't have to use flush manually as it will be done automatically.

      Using this will help a lot with time complexity specially when you have multiple test cases.

      And forgive my poor English

      • »
        »
        »
        »
        114 minutes ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        no, it's all about cin.tie(nullptr); as far as i know

»
5 hours ago, # |
  Vote: I like it +10 Vote: I do not like it

I thought everyone learns to put cin.tie(0) -> sync_with_stdio(0) in their code the first day they start cp.

Guess not :/

  • »
    »
    5 hours ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I know thats a fundamental thing in CP but I never thought that it would matters that much but I guess im wrong lol.