Cod sursa(job #3296641)

Utilizator Dragos_MatuDragos Gabriel Matu Dragos_Matu Data 15 mai 2025 00:15:03
Problema Arbori de intervale Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.43 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

ifstream fin("arbint.in");
ofstream fout("arbint.out");

void changeElement(unsigned long long arg1, unsigned long long arg2, unsigned long long *array)
{
    array[arg1 - 1] = arg2;

    // cout << "\n";
    // for (int i = 0; i <= 4; i++)
    // {
    // cout << array[i];
    // }
    // cout << "\n";
}

void maximumElement(unsigned long long arg1, unsigned long long arg2, unsigned long long *array)
{
    // cout << arg1 << arg2 << " ";
    unsigned long long max = 0;
    for (int i = arg1 - 1; i <= arg2 - 1; i++)
    {
        // cout << i << array[i] << max << " ";
        if (array[i] > max)
        {
            // cout << "ok";
            max = array[i];
        }
    }
    fout << max << "\n";
}

int main()
{
    int N, M;
    fin >> N >> M;
    // cout << N << M  << '\n';
    unsigned long long *V = (unsigned long long *)malloc(sizeof(long) * N);
    for (int i = 0; i < N; i++)
    {
        fin >> V[i];
        // cout << V[i];
    }
    while (M)
    {
        unsigned long long arg1, arg2, arg3;
        fin >> arg1 >> arg2 >> arg3;
        // cout << '\n'
        //      << arg1 << arg2 << arg3;
        if (arg1 == 0)
        {
            maximumElement(arg2, arg3, V);
        }
        else
        {
            changeElement(arg2, arg3, V);
        }
        M--;
    }
    return 0;
}