Pagini recente » Cod sursa (job #110131) | Cod sursa (job #2318331) | Cod sursa (job #2705940) | Cod sursa (job #1008568) | Cod sursa (job #75631)
Cod sursa(job #75631)
using namespace std;
#include<cstdio>
#include<algorithm>
#define Nm 1000
#define Nrm 100
int M[Nm][Nrm],A[Nm],C[Nm],T[Nm],Nr[Nm],n,m,ans;
void read()
{
int i,j;
freopen("aprindere.in","r",stdin);
scanf("%d%d",&n,&m);
for(i=0;i<n;++i)
scanf("%d",A+i);
for(i=0;i<m;++i)
{
scanf("%d%d%d",C+i,T+i,Nr+i);
for(j=0;j<Nr[i];++j)
scanf("%d",&M[i][j]);
}
}
bool cmp(int a, int b)
{
return C[a]<C[b];
}
void solve()
{
int I[Nm],i,j;
for(i=0;i<m;++i)
I[i]=i;
sort(I,I+m,cmp);
for(i=0;i<m;++i)
if(!A[C[I[i]]])
{
ans+=T[I[i]];
for(j=0;j<Nr[I[i]];++j)
A[M[I[i]][j]]=!A[M[I[i]][j]];
}
}
void write()
{
freopen("aprindere.out","w",stdout);
printf("%d\n",ans);
}
int main()
{
read();
solve();
write();
return 0;
}