Cod sursa(job #2615358)
| Utilizator | Data | 14 mai 2020 14:42:26 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
const int N=100004;
using namespace std;
ifstream f("arbint.in");
ofstream g("arbint.out");
int n, m, a[N], op, m1, m2;
int operatia0(int a[], int m1, int m2)
{
int maxi = -1;
for(int i=m1; i<=m2; i++)
if(maxi<a[i])
maxi = a[i];
return maxi;
}
int main()
{
f >> n >> m;
for(int i=1; i<=n; i++)
f >> a[i];
int i = 1;
while(i <= m)
{
f >> op >> m1 >> m2;
if(op == 0)
g << operatia0(a, m1, m2) << '\n';
else
a[m1]=a[m2];
++i;
}
return 0;
}
