Cod sursa(job #3358464)

Utilizator Palyo_Muset_AndreiPalyo-Muset Andrei Palyo_Muset_Andrei Data 16 iunie 2026 20:39:55
Problema Arbori de intervale Scor 50
Compilator c-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#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;
}