Pagini recente » Cod sursa (job #28873) | Cod sursa (job #1791507) | Cod sursa (job #874357) | Cod sursa (job #2603914) | Cod sursa (job #1466375)
#include <cstdio>
#include<algorithm>
#include<vector>
using namespace std;
FILE *f=fopen("aprindere.in", "r");
FILE *g=fopen("aprindere.out", "w");
int cate, a[1010][110], si[1010];
void aprindere(int nr){
for(int i=1; i<=a[nr][1]; ++i)
si[a[nr][i+1]]=(si[a[nr][i+1]]+1)%2;
cate+=a[nr][0];
}
int main()
{
int n, m, nr;
fscanf(f, "%d%d", &n, &m);
for(int i=1; i<=n; ++i)
fscanf(f, "%d", &si[i]);
for(int i=1; i<=m; ++i){
fscanf(f, "%d", &nr);
++nr;
fscanf(f, "%d%d", &a[nr][0], &a[nr][1]);
//a[0]=timp necesar
//a[1]=numar de alte camere
for(int j=1; j<=a[nr][1]; ++j){
fscanf(f, "%d", &a[nr][j+1]);
++a[nr][j+1];
}
}
for(int i=1; i<=n; ++i)
if(si[i]==0)
aprindere(i);
fprintf(g, "%d", cate);
return 0;
}