Cod sursa(job #51239)

Utilizator tvladTataranu Vlad tvlad Data 10 aprilie 2007 16:54:18
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>

int n,m;
bool st[1000];
int t[1000],nr[1000];
int a[1000][1000];

int main() {
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
	
	scanf("%d %d",&n,&m);
	for (int i = 0; i<n; ++i) {
		int ax;
		scanf("%d",&ax);
		if (ax == 1) st[i] = true; else st[i] = false;
	}
	for (int i = 0; i<m; ++i) {
		int c;
		scanf("%d",&c);
		scanf("%d %d",&t[c],&nr[c]);
		for (int j = 0; j<nr[c]; ++j) scanf("%d",&a[c][j]);
	}
	
	int time = 0;
	for (int i = 0; i<n; ++i) {
		if (!st[i]) {
			time += t[i];
			for (int j = 0; j<nr[i]; ++j)
				if (st[a[i][j]])
					st[a[i][j]] = false; else
					st[a[i][j]] = true;
		}
	}
	printf("%d\n",time);
	return 0;
}