can any one help me and tell me why this code get TLE 56138526
# | User | Rating |
---|---|---|
1 | jiangly | 3640 |
2 | Benq | 3593 |
3 | tourist | 3572 |
4 | orzdevinwang | 3561 |
5 | cnnfls_csy | 3539 |
6 | ecnerwala | 3534 |
7 | Radewoosh | 3532 |
8 | gyh20 | 3447 |
9 | Rebelz | 3409 |
10 | Geothermal | 3408 |
# | User | Contrib. |
---|---|---|
1 | maomao90 | 173 |
2 | adamant | 164 |
3 | awoo | 161 |
4 | TheScrasse | 160 |
5 | nor | 159 |
6 | maroonrk | 156 |
7 | SecondThread | 152 |
8 | pajenegod | 146 |
9 | BledDest | 144 |
10 | Um_nik | 143 |
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