Pagini recente » Cod sursa (job #2365003) | Cod sursa (job #2843115) | Cod sursa (job #2793362) | Cod sursa (job #2317884) | Cod sursa (job #1073070)
#include<fstream>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
int m[1005][105], i, N, M, stare[1001];
int cost = 0, j;
int main()
{
int c, t, nrc;
fin >> N >> M;
for (i = 0; i < N; ++i) fin >> stare[i];
for (i = 1; i <= M; ++i)
{
fin >> c >> t >> nrc;
m[c][0] = t;
m[c][1] = nrc;
for (j = 2; j <= nrc+1; ++j)
fin >> m[c][j];
}
for (i = 0; i < N; ++i)
if (m[i][0]>0 && stare[i]==0)
{
stare[i] = (stare[i] + 1) % 2;
for (j = 2; j <= m[i][1]+1; ++j)
stare[m[i][j]] = (stare[m[i][j]] + 1) % 2;
cost += m[i][0];
}
fout << cost << '\n';
fin.close();
fout.close();
return 0;
}