Cod sursa(job #17233)

Utilizator peanutzAndrei Homorodean peanutz Data 15 februarie 2007 13:01:54
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>

#define NMAX 1100//0

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

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

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

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

for(i = 0; 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][j]);
		scanf("\n");
	}
}

void solve()
{
int i, j;

for(i = 0; 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;
}