Longest increasing subsequence modified


please tell me where am I wrong

int dp[100]={1}
gives array 1,0,0,0,0,0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0…

I’ve made that correction https://ide.codingblocks.com/s/88481
My code is giving wrong answer for sample case too, didnt understand the logic why 100 should be printed and not 50

n is going till 10^5 and you are calculating dp till 100 only.