Pagini recente » Cod sursa (job #2068636) | Cod sursa (job #2032784) | Cod sursa (job #174134) | Cod sursa (job #408512) | Cod sursa (job #1278845)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("aprindere.in");
ofstream out("aprindere.out");
const int NMAX = 1000;
vector <int> p[NMAX+1];
bool v[NMAX+1];
int N,K, R= 0;
int t[NMAX+1];
void citire() {
in >> N >> K;
for( int i= 0; i<N; ++i ) in >> v[i];
for( int i= 1; i<=K; ++i ) {
int nr, a, cam;
in >> cam;
in >> t[cam] >> nr;
for( int j= 1; j<=nr; ++j ) {
in >> a;
p[cam].push_back( a );
}
}
}
void parcurge() {
for( int i= 0; i<N; ++i ) {
if( !v[i] ) {
R+= t[i];
for( int j= 0; j<(int)p[i].size(); ++j ) v[ p[i][j] ]= 1 - v[ p[i][j] ];
}
}
}
void afiseaza() {
out << R << '\n';
}
int main() {
citire();
parcurge();
afiseaza();
return 0;
}