Pagini recente » Cod sursa (job #1017146) | Cod sursa (job #2741348) | Cod sursa (job #2724044) | Cod sursa (job #1816624) | Cod sursa (job #1074589)
#include <cstdio>
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <map>
#include <cstring>
#include <string>
#include <set>
#include <stack>
#include <unordered_map>
#include <bitset>
#define Nmax 1001
using namespace std;
bitset<Nmax> viz;
vector<int> G[Nmax];
int cost[Nmax];
int N,M;
int main()
{
freopen("aprindere.in","r", stdin);
freopen("aprindere.out","w", stdout);
cin>>N>>M;
int x,C,NR,sol = 0;
for(int i=0;i<N;++i)
{
cin>>x;
viz[i] = x;
}
for(int i=1;i<=M;++i)
{
cin>>C>>x>>NR;
cost[C] = x;
while(NR--)
{
cin>>x;
G[C].push_back(x);
}
}
for(int i=0;i<N;++i)
{
if(viz[i] == true)
continue;
sol += cost[i];
for(int j=0;j<G[i].size();++j)
viz[G[i][j]] = !viz[G[i][j]];
}
cout<<sol<<"\n";
return 0;
}