Pagini recente » Cod sursa (job #2484983) | Cod sursa (job #2247585) | Cod sursa (job #2558764) | Cod sursa (job #1880759) | Cod sursa (job #161643)
Cod sursa(job #161643)
#include<stdio.h>
#define nmax 1005
int a[nmax];
int in[nmax][nmax], tot, t[nmax];
int n,m;
void read()
{
int i,j,aux,c,timp,nr;
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", &c, &timp, &nr);
t[c]=timp;
for(j=1;j<=nr;++j)
{
scanf("%d",&aux);
in[c][aux]=1;
}
}
}
void solve()
{
int ok=1;
int i,poz;
do
{
ok=0;
for(i=0;i<n;++i)
if(a[i]==0)
{
poz=i;
ok=1;
break;
}
if(ok==1)
{
for(i=0;i<n;++i)
if(in[poz][i]==1)
if(a[i]==0)
a[i]=1;
else
a[i]=0;
tot=tot+t[poz];
}
}
while(ok==1);
}
void print()
{
printf("%d\n",tot);
}
int main()
{
read();
solve();
print();
return 0;
}