Cod sursa(job #1512348)

Utilizator EuEricCiordel Rromeo EuEric Data 27 octombrie 2015 22:18:09
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
#include<fstream>
using namespace std;
int v[1000],a[1000][105];
int main()
{
    ifstream cin("aprindere.in");
    ofstream cout("aprindere.out");
    int n,m,i,j,bec=0,timp=0,c,t,nr,ok;
    cin>>n>>m;
    for(int i=0;i<n;++i)
    {
        cin>>v[i];
        if(v[i]==0)
            bec++;
    }
    for(int i=0;i<m;++i)
    {
        cin>>c>>t>>nr;
        a[c][0]=c;
        a[c][1]=t;
        a[c][2]=nr;
        for(int i=3;i<=nr+2;++i)
        {
            cin>>a[c][i];
        }
    }
        for(int i=0;i<n;++i)
        {
            ok=1;
            if(v[i]==0)
            {
                for(j=3;j<=a[i][2]+2;++j)
                {
                    if(v[a[i][j]]==0)
                    {
                        if(ok==1)
                        {
                            timp+=a[i][1];
                            ok=0;
                        }
                        v[a[i][j]]=1;
                        bec--;
                    }
                    else
                    {
                    if(v[a[i][j]]==1)
                    {
                        v[a[i][j]]=0;
                        bec++;
                    }
                    }

                }
            }
            if(bec==0)
            {
                cout<<timp;
                return 0;
            }
        }
        cout<<timp;
}