Cod sursa(job #1098101)

Utilizator andrettiAndretti Naiden andretti Data 4 februarie 2014 14:32:00
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.78 kb
#include<stdio.h>
#include<algorithm>
#define maxn 1005
#define maxp 105
using namespace std;

int n,m,p,sol;
int v[maxn],a[maxn][maxp],t[maxn];

void read()
{
    int c;
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++) scanf("%d",&v[i]);
    for(int i=1;i<=m;i++)
    {
        scanf("%d",&c); scanf("%d",&t[c]); scanf("%d",&a[c][0]);
        for(int j=1;j<=a[c][0];j++) scanf("%d",&a[c][j]);
    }
}

void solve()
{
    for(int i=0;i<n;i++)
     if(!v[i])
     {
         sol+=t[i];
         for(int j=1;j<=a[i][0];j++) v[a[i][j]]=!v[a[i][j]];
     }
}

int main()
{
    freopen("aprindere.in","r",stdin);
    freopen("aprindere.out","w",stdout);

    read();
    solve();
    printf("%d",sol);

    fclose(stdin);
    fclose(stdout);
    return 0;
}