Cod sursa(job #1793849)
| Utilizator | Data | 31 octombrie 2016 16:51:26 | |
|---|---|---|---|
| Problema | Arbori de intervale | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int v[100000];
int main()
{
int o,x,y,aux;
int n,m;
FILE *f=fopen("arbint.in","r");
FILE *g=fopen("arbint.out","w");
fscanf(f,"%d%d",&n,&m);
for(int i=1; i<=n; i++)
fscanf(f,"%d",&v[i]);
for(int iii=1; iii<=m; iii++)
{
fscanf(f,"%d",&o);
if(o==1)
{
fscanf(f,"%d%d",&x,&y);
v[x]=y;
}
else
{
fscanf(f,"%d%d",&x,&y);
aux=*max_element(v+x,v+y+1);
fprintf(g,"%d\n",aux);
}}
return 0;
}
