Cod sursa(job #2907547)

Utilizator SeracovanuEdwardSeracovanu Edward SeracovanuEdward Data 30 mai 2022 18:00:43
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

int n , m;
int ans = 0;
int A[1001],t[1001];
vector <int> adj[1001];

static void _add(int i){
ans += t[i];
A[i] = 1;
for(auto x:adj[i])
    A[x] ^= 1;
}

int main()
{
    freopen("aprindere.in","r",stdin);
    freopen("aprindere.out","w",stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin >> n >> m;
    for(int i = 0;i < n; ++i)
        cin >> A[i];
    for(int i = 0;i < m; ++i){
        int c, nrc;
        cin >> c;
        cin >> t[c];
        cin >> nrc;
        for(int j = 0;j < nrc; ++j){
            int x;
            cin >> x;
            adj[c].push_back(x);
        }
    }
    for(int i = 0;i < n; ++i)
        if(A[i] == 0){
            cerr << i << "\n";
            _add(i);
        }
    cout << ans;
}