Cod sursa(job #1864296)

Utilizator adiXMGemene Adrian adiXM Data 31 ianuarie 2017 18:06:17
Problema Subsir 2 Scor 18
Compilator cpp Status done
Runda blat10 Marime 1.07 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
const int nMax = 5003;
int dp[nMax], a[nMax];
struct Vectoras{
    int val, mn, poz;
};
Vectoras v[nMax];
inline bool cmp(const Vectoras A, const Vectoras B) {
    return A.mn < B.mn;
}
int main()
{
    int n;
    f >> n;
    for(int i = 1; i <= n; i++) {
        f >> a[i];
    }
    int mx = 0;
    for(int i = 1; i <= n; i++) {
        dp[i] = 1;
        for(int j = 1; j < i; j++) {
            if(a[j] < a[i] && 1 + dp[j] > dp[i]) {
                dp[i] = 1 + dp[j];
            }
        }
        if(dp[i] > mx) {
            mx = dp[i];
        }
    }
    g << mx << "\n";
    /*for(int i = 1; i <= n; i++) {
        v[i].val = dp[i];
        v[i].mn = a[i];
        v[i].poz = i;
    }
    sort(v + 1, v + n + 1, cmp);
    int ceval , start;
    for(int i = 1; i <= n; i++) {
        if(v[i].mn == mx) {
            ceval = v[i].mn;
            start = v[i].poz;
            break;
        }
    }
    for(int i = )*/
    return 0;
}