Cod sursa(job #339063)

Utilizator klamathixMihai Calancea klamathix Data 7 august 2009 23:31:57
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<cstdio>
#include<vector>
#define MAXN 1001
using namespace std;

vector <int> Tree[MAXN];
int i , j , N , M , subject , cost , count , Result ,bec;
bool taken[MAXN];

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",&taken[i]);
    for( i = 1 ; i <= M ; ++i ) {
         scanf("%d %d %d",&subject , &cost , &count);
         Tree[subject].push_back(cost);
         for( ; count --; ) {
              scanf("%d",&bec);
              Tree[subject].push_back(bec);
              }
         }
    
    for( i = 0 ; i <  N ; ++i ) {
         if ( !taken[i] ) {
              Result += Tree[i][0];
              for( j = 1 ; j < Tree[i].size() ;++j )
                   taken[Tree[i][j]] ^= 1;
              }
     }
     
    printf("%d\n",Result);

return 0;
}