Cod sursa(job #229728)
| Utilizator | Data | 11 decembrie 2008 11:24:43 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
FILE*f=fopen("arbint.in","r"),*g=fopen("arbint.out","w");
long a[100003],i,n,m,x,y,c;
long max(long a[100003],long x,long y)
{long t=a[x],i;
for(i=x+1;i<=y;++i)
if(a[i]>t)
t=a[i];
return t;
}
int main()
{
fscanf(f,"%ld %ld",&m,&n);
for(i=1;i<=n;++i)
fscanf(f,"%ld",&a[i]);
for(i=1;i<=m;++i)
{ fscanf(f,"%ld %ld %ld",&c,&x,&y);
if(c)
a[x]=y;
else
fprintf(g,"%ld\n",max(a,x,y));
}
return 0;
}
