Pagini recente » Cod sursa (job #1496056) | Cod sursa (job #538085) | Cod sursa (job #806952) | Diferente pentru utilizator/raresegay intre reviziile 12 si 15 | Cod sursa (job #1074549)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("aprindere.in");
ofstream g("aprindere.out");
#define MAXN 1005
int N, M, aprins[MAXN], cost[MAXN], cost_total = 0;
vector<int> intrerupatoare[MAXN];
int main()
{
// Local
int i, a, b, c;
f >> N >> M;
for (i = 0; i < N; ++i)
f >> aprins[i];
for (i = 1; i <= M; ++i)
{
f >> a;
f >> cost[a] >> b;
while (b--)
f >> c, intrerupatoare[a].push_back(c);
}
for (i = 0; i < N; ++i)
if (!aprins[i])
{
cost_total += cost[i];
for (a = 0; a < intrerupatoare[i].size(); ++a)
{
b = intrerupatoare[i][a];
aprins[b] = (aprins[b] * (-1)) + 1;
}
}
g << cost_total << '\n';
return 0;
}