#include <bits/stdc++.h>
using namespace std;

int lengthOfLIS(vector<int>& nums) {
        vector<int>dp(n,1);
        for(int i=1;i<n;i++){
            for(int j=0;j<i;j++){
                if(nums[j]<nums[i]){
                    dp[i]= (dp[j]+1>dp[i])?dp[j]+1:dp[i];
                } 
            }
        }
        return *max_element(dp.begin(),dp.end());
    }
    
    //follow-up: total no of increasing sequences
    
 int totalLIS(vector<int>& nums, int n){
 	 vector<int>dp(n,1);int ct=dp[0];
        for(int i=1;i<n;i++){
            for(int j=0;j<i;j++){
                if(nums[j]<nums[i]){
                    dp[i]= dp[j]+1;
                } 
            }
            ct+=nums[i];
        }
        return ct;
 }
 //second follow-up: have to learn segment trees
    