Cod sursa(job #1636089)

Utilizator L.DanielLungu Daniel L.Daniel Data 6 martie 2016 22:19:24
Problema Arbori de intervale Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
//
//  main.cpp
//  Arbori de intervale
//
//  Created by Daniel Lungu on 05/03/16.
//  Copyright © 2016 Daniel Lungu. All rights reserved.
//

#include <iostream>
#include <fstream>

using namespace std;

#define MAX 100000

int maxValue(int * A, int a, int b){
    int max=-1;
    
    for (int i=a; i<= b; i++) {
            if (A[i] > max) {
                max = A[i];
            }
    }
    
    return max;
}

int main(int argc, const char * argv[]) {
    int M,N, A[MAX],val,a,b;
    ifstream myinfile("arbint.in");
    ofstream myoutfile("arbint.out");
    
    myinfile >> N >> M;
    
    for (int i =1; i <= N; i++)
        myinfile  >>  A[i];
    
    for (int i =1; i<= M; i++) {
        myinfile >> val >> a >> b;
        
        if (val == 1)
            A[a]=b;
        else
            myoutfile<<maxValue(A,a,b)<<endl;
        
    }
    
    myinfile.close();
    myoutfile.close();

    return 0;
}