I was solving the 1482E - Skyline Photo, and it turns out to be WA. I am not sure why did this happen please help me out.
I have used a 2D dp array where dp[i][0] stores the maximum beauty that can be achieved if we combine ith building with the last building dp[i][1] stores the maximum beauty that can be achieved if put in a new photo
While storing the value in dp[i][0] I also took note that in some cases using dp[i-1][0] and dp[i-1][1] both may result with same beauty. So, I took the one that had the greater beauty for the smallest building in the last photo cause that will give a better solution if we happen to find a smaller building with better beauty.
for this "combine" I used a 2D mn_idx array that stores for each state the index of building with minimum height in the current photo ending at ith building.
I could not see the testcases, it shows WA on test 8. So is the logic completely wrong (it will be better if you could please explain why is that so?)?
Here is my code
It's not guaranteed that if you combine it with last photo or start a new photo from here you will get the maximum
Could you please provide a counter test?
Here is a test case
7
7 6 3 5 1 2 4
2 -7 -7 -4 3 -8 1
for 5th index(1 based indexing) if you take the last and merge it,it won't give max or by anyway unless merging it with 1st index
answer for i=1 to i=7 are as:-
2 -5 -5 -7 5 5 6
Sorry but the code works for this test case and provides better result. 2 -5 -5 -2 5 5 6.
My Bad for the answer I didn't run it on my code but there are many cases
You approach is wrong cause your code will fail on