Mai intai trebuie sa te autentifici.
Cod sursa(job #633867)
Utilizator | Data | 14 noiembrie 2011 23:16:04 | |
---|---|---|---|
Problema | Arbori de intervale | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<cstdio>
#include<vector>
using namespace std;
int n, m;
vector <int> L;
int main() {
int i, tip, a, b;
freopen("arbint.in", "r", stdin), freopen("arbint.out", "w", stdout);
scanf("%d %d", &n, &m);
L.push_back(0);
for(i = 1; i <= n; i++) {
scanf("%d", &a);
L.push_back(a);
}
for(i = 1; i <= m; i++) {
scanf("%d %d %d", &tip, &a, &b);
if(tip == 0) {
int maxim = L[a];
for(int j = a + 1; j <= b; j++)
if(maxim < L[j]) maxim = L[j];
printf("%d\n", maxim);
}
else L[a] = b;
}
return 0;
}