Cod sursa(job #17231)

Utilizator peanutzAndrei Homorodean peanutz Data 15 februarie 2007 12:50:04
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

#define NMAX 1100

int stare[NMAX];
int n, m;
int intr[NMAX][120];
int t[NMAX];
int count;

void read()
{
int i, j, c;

scanf("%d %d\n", &n, &m);

for(i = 1; i <= n; ++i)
	scanf("%d ", stare[i]);

for(i = 1; i <= m; ++i)
	{
		scanf("%d ", &c);

		scanf("%d %d ", &t[c], &intr[c][0]);

		for(j = 1; j <= intr[c][0]; ++j)
			scanf("%d ", &intr[c][i]);
		scanf("\n");
	}
}

void solve()
{
int i, j;

for(i = 1; i <= n; ++i)
	{
		if(!stare[i])
			{
				count += t[i];

				for(j = 1; j <= intr[i][0]; ++j)
					stare[ intr[i][j] ] = !stare[ intr[i][j] ];
			}
	}
}

void write()
{
printf("%d\n", count);
}

int main()
{
freopen("aprindere.in", "r", stdin);
freopen("aprindere.out", "w", stdout);

read();

solve();

write();

fclose(stdin);
fclose(stdout);

return 0;
}