can any one help me and tell me why this code get TLE 56138526
# | User | Rating |
---|---|---|
1 | tourist | 3947 |
2 | jiangly | 3734 |
3 | Radewoosh | 3646 |
4 | jqdai0815 | 3620 |
4 | Benq | 3620 |
6 | orzdevinwang | 3612 |
7 | ecnerwala | 3581 |
8 | Geothermal | 3569 |
8 | cnnfls_csy | 3569 |
10 | ksun48 | 3479 |
# | User | Contrib. |
---|---|---|
1 | awoo | 162 |
2 | maomao90 | 160 |
3 | nor | 156 |
4 | cry | 155 |
4 | adamant | 155 |
4 | atcoder_official | 155 |
4 | -is-this-fft- | 155 |
8 | maroonrk | 153 |
9 | SecondThread | 147 |
10 | Petr | 146 |
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://codeforces.com/blog/entry/67984