Cod sursa(job #1090062)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 22 ianuarie 2014 12:08:59
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.17 kb
# include <cstdio>
# include <algorithm>

using namespace std;

const int N = 100000;

struct vecNorm
{
    int v1, v2;
};

vecNorm vNorm [N + 1];
int v [N + 1];
int vN [N + 1];
int u [N + 1];
int n;

bool comp1 (vecNorm a ,vecNorm b)
{
    return a. v1 < b. v1;
}

bool comp2 (vecNorm a ,vecNorm b)
{
    return a. v2 < b. v2;
}

void scanare ()
{
    int i;

    scanf ("%d", & n);

    for (i = 1; i <= n; i ++)
    {
        scanf ("%d", & v [i]);
        vNorm [i]. v1 = v [i];
        vNorm [i]. v2 = i;
    }
}

void init ()
{
    freopen ("scmax.in", "r", stdin);
    freopen ("scmax.out", "w", stdout);
    scanare ();
}

void norm ()
{
    int i;

    sort (vNorm + 1, vNorm + n + 1, comp1);

    for (i = 1; i <= n; i ++)
    {
        u [i] = i;

        if (vNorm [i]. v1 == vNorm [i - 1]. v1)
            u [i] = u [i - 1];
    }

    for (i = 1; i <= n; i ++)
        vNorm [i]. v1 = u [i];

    sort (vNorm + 1, vNorm + n + 1, comp2);

    for (i = 1; i <= n; i ++)
        printf ("%d ", vNorm [i]. v1);
}

int main ()
{
    init ();
    norm ();

    for (i = 1; i <= n; i ++)


    return 0;
}