Pagini recente » Cod sursa (job #2166171) | Cod sursa (job #269156) | Cod sursa (job #1953817) | Cod sursa (job #2183788) | Cod sursa (job #997346)
Cod sursa(job #997346)
#include <iostream>
#include <cstdio>
#define MAX_N 1010
#define MAX_M 1010
#define MAX_NR 110
#define MAX_T 1010
using namespace std;
int N , M , NR , T , C , stare[MAX_N] , sw[MAX_M][MAX_NR], timpi[MAX_N] , lg[MAX_N] ;
void citire()
{
freopen("aprindere.in", "r", stdin);
scanf( "%d %d" , &N , &M ) ;
int i , j , t , aux ;
for( i = 0 ; i < N ; i++ )
{
scanf( "%d" , &stare[i] ) ;
}
for( i = 0 ; i < M ; i++ )
{
scanf( "%d %d %d " , &C , &t , &NR ) ;
timpi[C] = t ;
lg[C] = NR ;
for( j = 1 ; j <= NR ; j++ )
{
scanf( "%d" , &aux ) ;
sw[C][j] = aux ;
}
}
}
void trigger_switch( int j )
{
int i ;
for( i = 1 ; i <= lg[j] ; i++ )
{
stare[sw[j][i]]=1-stare[sw[j][i]];
}
}
int solve()
{
int sol = 0 , i ;
for( i = 0 ; i < N ; i++ )
{
if ( stare[i] == 0 )//daca lumina este stinsa
{
sol += timpi[i] ;
trigger_switch(i);
}
}
return sol ;
}
int main()
{
freopen("aprindere.out","w",stdout);
citire();
int sol = solve() ;
printf("%d", sol ) ;
return 0 ;
}