Cod sursa(job #2604243)

Utilizator lepoartcevPaltineanu Rares-Mihai lepoartcev Data 22 aprilie 2020 11:20:20
Problema Arbori de intervale Scor 40
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <stdio.h>
#include <stdlib.h>

void performOp(int a, int b, int c, int* vect, FILE* out) {


    if(a == 0) {

        int maxim = -1;

        for(int i = b; i <= c; i++)
            maxim = (vect[i] > maxim) ? vect[i] : maxim;

        fprintf(out, "%d\n", maxim);

    } else {


        vect[b] = c;

    }

}

void read(FILE* in, FILE* out, int* vect, int n, int m) {

    for(int i = 1; i <= n; i++)
        fscanf(in, "%d", &vect[i]);

    int a, b, c;

    for(int i = 0; i < m; i++) {

        fscanf(in, "%d %d %d", &a, &b, &c);
        performOp(a, b, c, vect, out);
    }
}

int main()
{
    FILE* in = fopen("arbint.in", "r");
    FILE* out = fopen("arbint.out", "w");

    int n, m;
    fscanf(in, "%d %d", &n, &m);
    int vect[n + 1];

    read(in, out, vect, n, m);
    return 0;
}