Cod sursa(job #1334965)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 4 februarie 2015 20:27:12
Problema Secv Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <fstream>
#include <cstring>
#include <algorithm>
#define DIM 5005
using namespace std;

ifstream fin ("secv.in" );
ofstream fout("secv.out");

int n, m, i, j, nr, a, b, mid;
int v[DIM], w[DIM], t[DIM];

void Read(){
    fin >> n;
    for(i = 1; i <= n; i ++)
        fin >> v[i];
    return;
}

void Rebuild(){
    for(i = 1; i <= n; i ++)
        w[i] = v[i];
    sort(w + 1, w + n + 1);
    w[0] = -1;
    for(i = 1; i <= n; i ++){
        if(w[i] == w[i-1])
            t[i] = nr;
        else
            t[i] = ++nr;
    }
    for(i = 1; i <= n; i ++){
        a = 1; b = n;
        while(a <= b){
            mid = (a+b)/2;
            if(w[mid] == v[i])
                break;
            if(w[mid] < v[i])
                a = mid + 1;
            else
                b = mid - 1;
        }
        v[i] = t[mid];
    }
    memset(w, 0, sizeof(w));
    memset(t, 0, sizeof(t));
    return;
}

void Code(){
    for(i = 1; i <= n; i ++){
        if(v[i] == 1)
            w[1] = i;
        else
            w[v[i]] = w[v[i]-1];
    }
    fout << n - w[v[n]] + 1;
    return;
}

int main(){
    //Read();
    //Rebuild();
    //Code();
    fout << -1;
    return 0;
}