Cod sursa(job #3331416)

Utilizator kkcalinMarin Calin kkcalin Data 27 decembrie 2025 18:00:20
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>
using namespace std;

#define nmax 1001
ifstream in ("aprindere.in");
ofstream out ("aprindere.out");

int i, j;
struct SwitchInfo {
    bool exista;
    int T;
    int nr;
    int c[101];
};

int main () 
{
    int n, m;
    in >> n >> m;
    
    int a[1001];
    for (i = 0; i < n; i++)
        in >> a[i];
    
    SwitchInfo s[1001];
    for (i = 0; i < m; i++)
    {
        int C, T, NRC;
        in >> C >> T >> NRC;
        
        s[C].exista = true;
        s[C].T = T;
        s[C].nr = NRC;
        
        for (j = 0; j < NRC; j++)
            in >> s[C].c[j];
    }
    
    long long suma = 0;
    for (i = 0; i < n; i++)
    {
        if (!s[i].exista)
            continue;
        
        if (a[i] == 0)
        {
            for (j = 0; j < s[i].nr; j++)
            {
                int camera = s[i].c[j];
                a[camera] ^= 1;
            }
            suma += s[i].T;
        }
    }
    
    out << suma;
    return 0;
}