Cod sursa(job #1576239)

Utilizator mihai2003LLL LLL mihai2003 Data 22 ianuarie 2016 11:15:35
Problema Aprindere Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <stdlib.h>
int camere[1000][1000],timp[1000],aprindere[1000],stare[1000];
int main()
{
    int n,m,i,x,y,z,j,tp;
    FILE *fin,*fout;
    fin=fopen("aprindere.in","r");
    fout=fopen("aprindere.out","w");
    fscanf(fin,"%d%d",&n,&m);
    for(i=0; i<n; i++)
        fscanf(fin,"%d",&stare[i]);
    for(i=0; i<m; i++){
        fscanf(fin,"%d%d%d",&x,&y,&z);
        aprindere[x]=1;
        timp[x]=y;
        for(j=1; j<=z; j++){
            fscanf(fin,"%d",&y);
            camere[x][y]=1;
        }
    }
    tp=0;
    for(i=0; i<n; i++)
        if(stare[i]==0 && aprindere[i]==1){
            tp+=timp[i];
            for(j=i; j<n; j++)
                if(camere[i][j]==1)
                    stare[j]=1-stare[j];
        }
    fprintf(fout,"%d\n",tp);
    return 0;
}