can any one help me and tell me why this code get TLE 56138526
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | maomao90 | 163 |
2 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
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.net/blog/entry/67984