Cod sursa(job #3370449)

Utilizator gabriel47291Vaduva Gabriel - Teodor gabriel47291 Data 26 octombrie 2026 12:19:32
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

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

struct bec
{
    bool intr;
    int timp,cate,ww[1005];
} v[1005];

int n,p,i,m,c,tc,nrc,a[1005],j,camera;
long long rez;
int main()
{
    fin>>n>>m;
    for(i=0; i<n; i++)
    {
        fin>>a[i];
        if(a[i]==0)a[i]=-1;
    }
    for(i=0; i<m; i++)
    {
        fin>>c>>tc>>nrc;
        v[c].intr=true;
        v[c].timp=tc;
        v[c].cate=nrc;

        for(j=0; j<nrc; j++)fin>>v[c].ww[j];
    }

    for(i=0; i<n; i++)
    {
        if(v[i].intr && a[i]==-1)
        {
            for(j=0; j<v[i].cate; j++)
            {
                camera=v[i].ww[j];
                a[camera]*=(-1);
            }
            rez+=v[i].timp;
        }
    }
    fout<<rez;
    return 0;
}
//merge la fiecare camera si vede daca becul este aprins si ii schimba starea.