Cod sursa(job #834723)

Utilizator radu.bRadu Brumariu radu.b Data 15 decembrie 2012 01:52:28
Problema Arbori de intervale Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include<iostream>
#define MAXN 100000

long v[MAXN];
void op(int op, long v1, long v2);

std::ifstream in("arbint.in");
std::ofstream out("arbint.out");

int main(void) {

  int M,N;

  in >> M;
  in >> N;

  for(int i = 0; i < N; i++){
    in >> v[i];
  }

  for(int i = 0;i < M; i++){
    int o;
    long v1, v2;
    in >> o;
    in >> v1;
    in >> v2;
    
    op(o, v1-1, v2-1);
  }
  
  return 0;
}

void op(int op, long v1, long v2) {
  if(op==0){
    long max = v[v1];
    for(int i = v1; i <= v2 ; i++) {
      if(v[i] > max ) {
	max = v[i];
      }
    }
    out << max << std::endl;
  } else {
    v[v1] = v2;
  }
}