Pagini recente » Cod sursa (job #2136789) | Cod sursa (job #1275414) | Cod sursa (job #1544953) | Cod sursa (job #1436429) | Cod sursa (job #1868930)
#include<bits/stdc++.h>
#define in f
#define out g
using namespace std;
ifstream f ("arbint.in");
ofstream g ("arbint.out");
int const maxsize = 100000;
int n, m, code, a, b;
int v[maxsize];
int h[1000];
int main() {
in >> n >> m;
int s = sqrt(n);
for (int i = 1; i <= n; i++)
in >> v[i];
for (int i = 1; i <= m; i++) {
in >> code >> a >> b;
if (code == 0) {
int maxx = 0;
for (int j = a; j <= b; j++) {
if(j % s == 0 && j + s <= b) {
maxx = max(maxx, h[j / s]);
j += (s - 1);
} else
maxx = max(maxx, v[j]);
}
out << maxx << endl;
} else {
v[a] = b;
h[a / s] = max(h[a / s], b);
}
}
return 0;
}