Cod sursa(job #2680446)
| Utilizator | Data | 3 decembrie 2020 15:50:06 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
//bruta
#include <fstream>
std::ifstream fin("arbint.in");
std::ofstream fout("arbint.out");
const int mxn = 1e5 + 2;
int n, m;
long long a[mxn];
int main(){
fin >> n >> m;
for (int i = 1; i <= n; ++i)
fin >> a[i];
while (m -- ){
int x, y, z;
fin >> x >> y >> z;
if (x == 1){
a[y] = z;
} else {
int ans(0);
for (int i = y; i <= z; ++i){
ans = std::max(a[i], 1LL * ans);
}
fout << ans << '\n';
}
}
return 0;
}
