can any one help me and tell me why this code get TLE 56138526
# | User | Rating |
---|---|---|
1 | tourist | 3803 |
2 | jiangly | 3707 |
3 | Benq | 3627 |
4 | ecnerwala | 3584 |
5 | orzdevinwang | 3573 |
6 | Geothermal | 3569 |
6 | cnnfls_csy | 3569 |
8 | Radewoosh | 3542 |
9 | jqdai0815 | 3532 |
10 | gyh20 | 3447 |
# | User | Contrib. |
---|---|---|
1 | awoo | 163 |
2 | maomao90 | 160 |
3 | adamant | 159 |
4 | maroonrk | 152 |
5 | -is-this-fft- | 150 |
6 | atcoder_official | 148 |
6 | SecondThread | 148 |
8 | nor | 147 |
9 | TheScrasse | 146 |
10 | Petr | 144 |
can any one help me and tell me why this code get TLE 56138526
Name |
---|
one solution same like u may refer.
change memset to for i = 0 to n ... arr[i] =0
You can use fill(arr,arr+n,0) instead
I think it's because you do memset(arr,0,sizeof arr) every testcase (it takes 200005 iterations)
don't bul... memset Takes O(1)
No. Memset is O(n).
Oh sorry yes i typo but memset have a very good performance(much Better than simple loop)
It greatly depends on the memset implementation. Many versions of memset can use a "bit blit" operation in hardware to set large groups of memory to the same value essentially instantly — or at least far faster than you could possibly do with a code-level loop — especially if you're setting the value to zero or 0xFF.
But honestly, it doesn't really make a difference. The only reason I use memset is to save time.
No, it makes a huge difference in runtime. It's more like O(N / insanely good constant). Actually in one problem the "second intended solution" used memset and passed and when I was still using java I couldn't get it to pass with Arrays.fill or copy or for loop or whatever other stuff java has and I had to actually find a better algorithm, lol.
farmersrice Please see this http://mirror.codeforces.com/blog/entry/67984