Cod sursa(job #971833)
| Utilizator | Data | 10 iulie 2013 12:38:37 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
#include<iostream>
#define for(i,a,b) for(int i=a;i<=b;i++)
int n,m,a,b,v[100011],o,maxim;
using namespace std;
void max(int a, int b)
{
maxim=v[a];
for(i,a+1,b)
if(v[i]>maxim)
maxim=v[i];
}
int main()
{
ifstream in("arbint.in");
ofstream out("arbint.out");
in>>n>>m;
for(i,1,n)
in>>v[i];
for(i,1,m)
{
in>>o>>a>>b;
if(o==0)
{
max(a,b);
out<<maxim<<"\n";
}
else
v[a]=b;
}
in.close();
return 0;
}