Pagini recente » Cod sursa (job #551123) | Cod sursa (job #2794669) | Cod sursa (job #1610205) | Cod sursa (job #752007) | Cod sursa (job #2965055)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
bool v[1001];
short mat[1001][1001];
int main()
{
int n, m;
fin>>n>>m;
for(int i=0; i<n; i++)fin>>v[i];
for(int i=0; i<m; i++)
{
fin>>mat[i][0]>>mat[i][1]>>mat[i][2];
for(int j=1; j<=mat[i][2]; j++)
fin>>mat[i][2+j];
}
for(int i=0; i<m-1; i++)
for(int j=i+1; j<m; j++)
if(mat[i][0]>mat[j][0])swap(mat[i], mat[j]);
int k=0;
for(int i=0; i<m; i++)
{
if(v[mat[i][0]]==0)
{
k+=mat[i][1];
for(int j=1; j<=mat[i][2]; j++)
v[mat[i][j+2]]=1-v[mat[i][j+2]];
}
}
fout<<k;
return 0;
}