Cod sursa(job #303133)

Utilizator pedobearBacauanu Vlad pedobear Data 9 aprilie 2009 16:21:17
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>

short int v[1001],intre[1001][150],cost[1001];
int n,m,x,s,i,j,timp;

int main ()
{
    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]);
    for (i=1;i<=m;i++){
        scanf ("%d",&x);
        scanf ("%d %d",&cost[x],&intre[x][0]);
        for (j=1;j<=intre[x][0];j++) scanf ("%d",&intre[x][j]);
        }
        
    for (i=0;i<n;i++){
        s=0;
        for (j=0;j<n;j++) s+=v[j];
        if (s==n) break;
        if (v[i]==0 && cost[i]>0){
                    for (j=1;j<=intre[i][0];j++){
                        if (v[intre[i][j]]==0) v[intre[i][j]]=1;
                        else v[intre[i][j]]=0;
                        }
                    timp+=cost[i];
                    }
        }
        
    printf ("%d",timp);
    
    return 0;
}