Cod sursa(job #1803396)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 11 noiembrie 2016 13:19:02
Problema Arbori de intervale Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

using namespace std;

unsigned int N, M;
unsigned int A[100001];
bool type[100001];
unsigned int a[100001], b[100001];

unsigned int i, j, k;

unsigned int sol[100001];

int main ()
{
    ifstream fin ("arbint.in");
    fin >> N >> M;
    for (i=1; i<=N; i++)
        fin >> A[i];
    for (i=1; i<=M; i++)
        fin >> type[i] >> a[i] >> b[i];
    fin.close();
    for (i=1; i<=M; i++)
        if (type[i] == 0)
        {
            sol[++k] = A[a[i]];
            for (j=a[i]+1; j<=b[i]; j++)
                if (A[j] > sol[k])
                    sol[k] = A[j];
        }
        else
            A[a[i]] = b[i];
    ofstream fout ("arbint.out");
    for (i=1; i<=k; i++)
        fout << sol[i] << '\n';
    fout.close();
    return 0;
}