Cod sursa(job #1315706)
| Utilizator | Data | 13 ianuarie 2015 00:27:28 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include<iostream>
#include<fstream>
using namespace std;
const int N=100010;
unsigned int m, n,i,j,op;
unsigned long s[10*N];
int main()
{
ifstream f("arbint.in");
ofstream g("arbint.out");
f>>n>>m;
for(i=1;i<=n;i++) f>>s[i];
for(j=1;j<=m;j++)
{
f>>op;
if(op==1)
{unsigned int a,b;
f>>a>>b;
s[a]=b;
}
else
{unsigned int a;
unsigned long b;
f>>a>>b;
unsigned long max=0;
for(i=a;i<=b;i++)
if(max<s[i]) max=s[i];
g<<max<<endl;
}
}
f.close();
g.close();
return 0;
}
