Pagini recente » Monitorul de evaluare | Cod sursa (job #3358449) | Cod sursa (job #2497003) | Cod sursa (job #3358255) | Cod sursa (job #3358464)
#include <stdio.h>
int N,M;
int v[100001];
int findMax(int left,int right)
{
int maximum=-1;
for (int i=left;i<=right;i++)
{
if (v[i]>maximum)
maximum=v[i];
}
return maximum;
}
int main(void)
{
FILE *fr=fopen("arbint.in","r");
FILE *fw=fopen("arbint.out","w");
if (!fr)
{
fprintf(stderr,"Failed to open input file");
return -1;
}
if (!fw)
{
fprintf(stderr,"Failed to open output file");
fclose(fr);
return -1;
}
fscanf(fr,"%d %d",&N,&M);
for (int i=1;i<=N;i++)
{
fscanf(fr,"%d",&v[i]);
}
for (int i=1;i<=M;i++)
{
int operation,a,b;
fscanf(fr,"%d %d %d",&operation,&a,&b);
if (operation==0)
{
int answer=findMax(a,b);
fprintf(fw,"%d\n",answer);
}
else
{
v[a]=b;
}
}
fclose(fr);
fclose(fw);
return 0;
}