Pagini recente » Cod sursa (job #944490) | Cod sursa (job #225313) | Cod sursa (job #1946173) | Cod sursa (job #2795159) | Cod sursa (job #2243644)
#include <cstdio>
FILE *fin = freopen("aprindere.in","r",stdin);
FILE *fout = freopen("aprindere.out","w",stdout);
static const int NMAX = 1000 + 5;
/* ------ DATA -------- */
int n,m;
int v[NMAX];
/* ------ DATA -------- */
struct buton{
int camera;
int timp;
int nr;
int becuri[NMAX];
}a[NMAX];
void ReadInput()
{
scanf("%d%d",&n,&m);
for(int i = 0; i< n; ++i)
{
scanf("%d",&v[i]);
}
for(int i = 0; i< m; i++)
{
scanf("%d%d%d",&a[i].camera, &a[i].timp, &a[i].nr);
for(int j = 0; j < a[i].nr; ++j)
scanf("%d",&a[i].becuri[j]);
}
}
void SolveGreedy()
{
/// Pentru fiecare intrerupator
int ct = 0;
for(int i = 0; i< m; i++)
{
if(v[a[i].camera] == 0)
{
ct+=a[i].timp;
for(int j = 0; j < a[i].nr; j++)
v[a[i].becuri[j]]= (v[a[i].becuri[j]] + 1) % 2;
}
}
printf("%d",ct);
}
int main()
{
ReadInput();
SolveGreedy();
return 0;
}