Cod sursa(job #2664752)

Utilizator Mihaela...Mihaela Zmeu Mihaela... Data 29 octombrie 2020 11:43:24
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include "bits/stdc++.h"

using namespace std;

int main()
{
    ifstream cin("datorii.in");
    ofstream cout("datorii.out");
    int n, m;
    cin >> n >> m;
    vector<int> v(n);
    for(int i = 0; i < n; i++) {
        cin >> v[i];
    }
    if( m != 1) {
        vector<string> v1(m + 1);
        for(int i = 0; i <= m; i++) {
            getline(cin,v1[i]);
        }

        for(int i = 1; i <= m; i++) {
            string s = v1[i];
            int o = s[0] - '0';
            int z = s[2] - '0';
            int z1 = s[4] - '0';
            int d =0;
            if (o == 1) {
                for (int j = z-1; j < z1; j++) {
                    d += v[j];
                }
                cout << d << '\n';
            }
            else {
                v[z-1] = v[z-1] - z1;
            }
        }
    }
    else {
        vector <int> v2(3);
        for (int i = 0; i<v.size(); i++) {
            cin >> v2[i];
        }
        int o = v2[0];
        int z = v2[1];
        int z1 = v2[2];
        int d =0;
        if (o == 1) {
            for (int j = z-1; j < z1; j++) {
                d += v[j];
            }
            cout << d << '\n';
        }
        else {
            v[z-1] = v[z-1] - z1;
        }
    }

    return 0;
}