Cod sursa(job #9050)

Utilizator mariussMarius Telespan mariuss Data 26 ianuarie 2007 15:28:18
Problema Aprindere Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include<stdio.h>
int n,m,i,j,s,v[100],w[100][100],k,q[100][100],c;
int main()
{
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
    
    scanf("%d %d",&n,&m);

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

	for(i=1;i<=m;i++)
	{
		scanf("%d %d %d",&w[i][1],&w[i][2],&w[i][3]);
		for(j=1;j<=w[i][3];j++)
		{
			scanf("%d",&q[i][j]);
			q[i][j]++;
        }
	}

	for(i=1;i<=m;i++)
		w[i][1]++;

	/*

	for(i=1;i<=m;i++)
		printf("%d\n",w[i][1]);

	for(i=1;i<=m;i++)
	{
		for(j=1;j<=5;j++)
			printf("%d ",q[i][j]);
		printf("\n");

	}

	*/

	for(i=1;i<=n;i++)
    {
        if(v[i]==0)
        {
            for(j=1;j<=m;j++)
                if(w[j][1]==i)
                {
                    for(k=1;k<=w[j][3];k++)
                    {
						for(c=1;c<=n;c++)
							if(q[j][k]==c)
							{
								if(v[c]==0)v[c]=1;
								else v[c]=0;
							}

					}

					s+=w[j][2];

					break;
                }
        }
    }
    
    printf("%d",s);
    
	return 0;

}