Pagini recente » Cod sursa (job #2786892) | Cod sursa (job #2868552) | Cod sursa (job #403260) | Cod sursa (job #346026) | Cod sursa (job #1551621)
#include <cstdio>
#include <algorithm>
#define Nmax 1002
#define NRmax 102
using namespace std;
int n, m, Tmin, c;
bool Sol[Nmax], sw[Nmax];
struct room
{
int T;
int v[NRmax];
}Sw[Nmax];
void read()
{
int i, j;
freopen("aprindere.in" ,"r", stdin);
freopen("aprindere.out", "w", stdout);
scanf("%d %d", &n, &m);
for(i = 0; i < n; ++ i)
scanf("%d", &Sol[i]);
for(i = 1; i <= m; ++ i)
{
scanf("%d", &c);
sw[c] = 1;
scanf("%d %d", &Sw[c].T, &Sw[c].v[0]);
for(j = 1; j <= Sw[c].v[0]; ++ j)
scanf("%d", &Sw[c].v[j]);
}
}
void Switch(int x)
{
if(Sol[x]) Sol[x] = 0;
else Sol[x] = 1;
}
void solve()
{
int i, j;
for(i = 0; i < n; ++ i)
{
if(!Sol[i])
{
if(sw[i])
{
for(j = 1; j <= Sw[i].v[0]; ++ j)
Switch(Sw[i].v[j]);
Tmin += Sw[i].T;
}
}
}
}
void write()
{
printf("%d\n", Tmin);
}
int main()
{
read();
solve();
write();
return 0;
}