Cod sursa(job #3328700)

Utilizator lauraaaaBanaru Laura lauraaaa Data 9 decembrie 2025 17:54:57
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <cmath>

using namespace std;
ifstream cin ("datorii.in");
ofstream cout ("datorii.out");
int v[15001],batog[201];
int main()
{
    int m,n,i,tip,a,b,s;
    cin >> n >> m;
    int nr=sqrt(n);
    for (i=0; i<n; i++)
    {
        cin >> v[i];
        batog[i/nr]+=v[i];
    }
    for (i=1; i<=n; i++)
    {
        cin >> tip >> a >> b;
        a--;
        if (tip==1)
        {
            s=0;
            b--;
            while (a%nr!=0 && a<=b)
            {
                s+=v[a];
                a++;
            }
            while (a+nr<b)
            {
                s+=batog[a/nr];
                a+=nr;
            }
            while (a<=b)
            {
                s+=v[a];
                a++;
            }
            cout << s << '\n';
        }
        else
        {
            v[a]-=b;
            batog[a/nr]-=b;
        }
    }
    return 0;
}