Pagini recente » Cod sursa (job #1267697) | Cod sursa (job #822804) | Monitorul de evaluare | Borderou de evaluare (job #2362114) | Cod sursa (job #835249)
Cod sursa(job #835249)
#include<fstream>
#include<iostream>
#define MAXN 100001
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 >> N;
in >> M;
for(int i = 1; i <= N; i++){
in >> v[i];
// std::cout << "got " << v[i] << std::endl;
}
for(int i = 0;i < M; i++){
int o;
long v1, v2;
in >> o;
in >> v1;
in >> v2;
op(o, v1, v2);
}
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(max < v[i] ) {
max = v[i];
}
}
out << max << std::endl;
// std::cout << "found max : " << max << std::endl;
} else {
v[v1] = v2;
}
}