Cod sursa(job #11026)

Utilizator m_dersidanDersidan Mihai m_dersidan Data 30 ianuarie 2007 11:57:45
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
# include <stdio.h>

# define  _fin  "aprindere.in"
# define  _fout "aprindere.out"

# define  maxn  1002


int n, m;
int s[maxn], t[maxn], r[maxn][maxn];
int sol;


void readf()
{
	freopen(_fin, "r", stdin);
	int i, c, j;
	for (scanf("%d %d", &n, &m), i=0; i<n; i++)
		scanf("%d", s+i);
	for (i=1; i<=m; i++)
	{
		scanf("%d", &c);
		scanf("%d%d", &t[c], &r[c][0]);
		for (j=1; j<=r[c][0]; j++)
			scanf("%d", &r[c][j]);
	}
}
void writef()
{
	freopen(_fout, "w", stdout);
	printf("%d\n", sol);
}
void solve()
{
	int i, j;
	for (i=0; i<=n; i++)
		if ( !s[i] )
		{
			sol += t[i];
			for (j=1; j<=r[i][0]; j++)
				s[ r[i][j] ] = !s[ r[i][j] ];
		}
}

int main()
{
	readf();
	solve();
	writef();

	return 0;
}