Cod sursa(job #3128789)

Utilizator RobertJmekRobert RobertJmek Data 10 mai 2023 21:40:48
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.45 kb
#include<iostream>
#include<fstream>
#include<vector>

using namespace std;

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


/// Date de intrare

// Fisierul datorii.in va contine pe prima linie numerele N si M. Pe urmatoarea linie se afla valorile sirului A1, A2... AN separate prin cate un spatiu. Urmatoarele M linii descriu operatiile (achitari sau interogari) efectuate in ordinea data. Fiecare linie care descrie o operatie incepe cu un cod binar (un numar intreg cu valoarea 0 sau 1) si continua cu 2 numere intregi.

//     Un cod 0 urmat de doua numere intregi T, V (1 ≤ T ≤ N, 1 ≤ V ≤ 1000) reprezinta o operatie de tip A (in momentul respectiv s-a achitat o valoare V din suma restanta a zilei T)
//     Un cod 1 urmat de doua numere intregi P, Q (1 ≤ P ≤ Q ≤ N) o operatie de tip B (se cere suma tuturor sumelor restante din zilele P, P+1, P+2... Q in momentul respectiv).


int main()
{
    int n, m;
    fin >> n >> m;
    vector<int> zile(n+1);
    for (int i = 1; i < n+1; ++i)
    {
        fin >> zile[i];
    }
    for (int i = 0; i < m; ++i)
    {
        int cod, t, v, p, q;
        fin >> cod;
        if (cod == 0)
        {
            fin >> t >> v;
            zile[t] -= v;
        }
        else
        {
            fin >> p >> q;
            int suma = 0;
            for (int j = p; j <= q; ++j)
            {
                suma += zile[j];
            }
            fout << suma << '\n';
        }

    }

return 0;

}