Cod sursa(job #26038)

Utilizator tudalexTudorica Constantin Alexandru tudalex Data 5 martie 2007 07:47:21
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> v[10000];
int timp[1000],a[10000];
int i,j,t,x,y,timp_total,n,m;
void aprinde(int x)
{
	for (int i=0;i<v[x].size();++i) a[v[x][i]]=1-a[v[x][i]];
	timp_total+=timp[x];
}
	
int main()
{
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
	scanf("%d %d",&n,&m);
	for (i=0;i<n;++i) scanf("%d",&a[i]);
	for (i=1;i<=m;++i)
	{
		scanf("%d %d %d",&x,&t,&y);
		timp[x]=t;
		for (j=1;j<=y;++j) 
		{
			scanf("%d",&t);
			v[x].push_back(t);
		}
	}
	for (i=0;i<n;++i)
	{
		if (a[i]==0)
		{
			//Se aprinde un intrerupator
			aprinde(i);
		}
	}
	printf("%d",timp_total);
	return 0;
}