Cod sursa(job #1733326)

Utilizator r00t_Roman Remus r00t_ Data 24 iulie 2016 13:50:30
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <cmath>
#include <vector>

using namespace std;

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

int n,m,vp[15005],tip,a,b,m1[15005][15005],S;

vector<pair<int,int> >v1;

int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        fin>>vp[i];
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            if(i==j)
                m1[i][j]=vp[j];
            else
                m1[i][j]=m1[i][j-1]+vp[j];
        }
    }
    for(int i=0;i<m;i++){
        fin>>tip>>a>>b;
        S=m1[a][b];
        if(tip==1){
            for(int j=0;j<v1.size();j++)
                if(a<=v1[j].first && v1[j].first<=b)
                    S-=v1[j].second;
            fout<<S<<'\n';
        }
        else
            v1.push_back(make_pair(a,b));

    }

}