Cod sursa(job #1240731)

Utilizator AleXoNNNeSoare Alex AleXoNNNe Data 11 octombrie 2014 23:09:37
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.72 kb
#include<iostream>
#include<fstream>
using namespace std;
int i,j,COD,suma,T,V,Q,P,A[15001],N,M,stop,stop2;
int main()
{
    struct magazin
    {
        int zi;
        int dat;
        magazin* urm;
    };
    magazin* varf = new magazin;
    magazin* p = new magazin;
    fstream f("datorii.in",ios::in),
            g("datorii.out",ios::out);
    f>>N>>M;
    p->urm=varf;
    for(i=1;i<=N+1;i++)
    {

        magazin* d = new magazin;
        if(i==N+1)
        {
            d->zi=i;
            d->dat=1;
            varf->urm=d;
            varf=d;
        }
        else
        {
            f>>d->dat;
            A[i]=d->dat;
            d->zi=i;
            varf->urm=d;
            varf=d;
        }
    }

    p=p->urm->urm;
    for(i=0;i<M;i++)
    {
        f>>COD;
        magazin* O = new magazin;
        if(!COD)
        {
            f>>T>>V;
            O=p;
            stop=0;
            while(stop==0)
            {
               if(O->zi==T)
               {
                   O->dat=O->dat-V;
                   stop=1;
               }
               O=O->urm;
            }

        }
        else
        {
            f>>P>>Q;
            O=p;
            stop=0;
            stop2=0;
            while(stop==0)
            {
                if(O->zi==P)
                {
                    while(O->zi<=Q)
                    {
                        suma=suma + O->dat;
                            O=O->urm;
                    }
                    stop=1;
                }
                if(O->urm != NULL)
                    O=O->urm;
            }

            g<<suma<<endl;
            suma=0;
        }
    }
    return 0;
}