Cod sursa(job #70642)

Utilizator a7893Nae Mihai a7893 Data 6 iulie 2007 16:44:23
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
int n,m,v[1001],T;
struct vec{
	int c,tc,nrc,nr[101];
}a[1000];
void read()
{
	int i,j;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&v[i]);
	for(i=0;i<m;i++)
	{
		scanf("%d%d%d",&a[i].c,&a[i].tc,&a[i].nrc);
		for(j=0;j<a[i].nrc;j++)
			scanf("%d",&a[i].nr[j]);
	}
}
void solve()
{
	int i,j,k,ok=1;
	for(i=0;i<n;i++)
		if(!v[i])
		{
			for(j=0;j<n&&ok;j++)
				if(a[j].c==i)
				{
					T+=a[j].tc;
					for(k=0;k<a[j].nrc;k++)
						if(v[a[j].nr[k]])
							v[a[j].nr[k]]=0;
						else
							v[a[j].nr[k]]=1;
					ok=0;
				}	
			ok=1;
		}
	printf("%d\n",T);
}
int main()
{
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
	read();
	solve();
	return 0;
}