Pagini recente » Cod sursa (job #2085659) | Cod sursa (job #1503733) | Cod sursa (job #1791092) | Cod sursa (job #295414) | Cod sursa (job #107514)
Cod sursa(job #107514)
#include<stdio.h>
int n,m,i,j,var,timp;
struct banca {int apr,t,nrc,lista[101];};
banca v[1001];
int init()
{freopen("aprindere.in","r",stdin);
freopen("aprindere.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=0;i<n;i++) scanf("%d",&v[i].apr);
for(i=1;i<=m;i++) {scanf("%d",&var);
scanf("%d %d",&v[var].t,&v[var].nrc);
for(j=1;j<=v[var].nrc;j++) scanf("%d",&v[var].lista[j]);}
}
int inline schimbare(int &x)
{if(x==1) x=0; else x=1;}
int aprindere()
{for(i=0;i<n;i++) if(v[i].apr==0 && v[i].nrc==0)
{printf("-1\n"); return 1;}
else if(v[i].apr==0 && v[i].nrc!=0)
{ timp+=v[i].t;
for(j=1;j<=v[i].nrc;j++)
{var=v[i].lista[j];
schimbare(v[var].apr);} }
printf("%d\n",timp);
}
int main()
{init(); aprindere();}