Cod sursa(job #267681)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 27 februarie 2009 21:10:53
Problema Aprindere Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
//#include<algorithm>
//using namespace std;
#include<stdio.h>
int n,m;
int a[1001];
struct aprind{
	int tc,nrc,cam[1001];};
aprind b[101];
int schimb(int i,int j){
    if(!a[b[i].cam[j]])
        return 1;
    return 0;}
void solve(){
    int i,j,c,timp;
    scanf("%d%d",&n,&m);
    for(i=0; i<n; ++i)
		scanf("%d",&a[i]);
    for(i=0,scanf("%d",&c); i<m; scanf("%d",&c),++i){
        scanf("%d%d",&b[c].tc,&b[c].nrc);
        for(j=0; j<b[c].nrc; ++j)
            scanf("%d",&b[c].cam[j]);}
    for(i=0,timp=0; i<n; ++i)
        if(!a[i]){
            timp+=b[i].tc;
            for(j=0; j<b[i].nrc; ++j)
                a[b[i].cam[j]]=schimb(i,j);}
    printf("%d",timp);}
int main(){
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
    solve();
    return 0;}