Pagini recente » Cod sursa (job #2379319) | Cod sursa (job #925358) | Cod sursa (job #2384917) | Cod sursa (job #2757415) | Cod sursa (job #2637297)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin( "aprindere.in" );
ofstream fout( "aprindere.out" );
const int MaxN = 1001;
int s[MaxN];
vector<int> rms[MaxN];
int t[MaxN];
int main() {
int n, m, i, nr, r, ar, time, tm;
fin >> n >> m;
for ( i = 0; i < n; ++i ) {
fin >> s[i];
}
for ( i = 0; i < m; ++i ) {
fin >> r >> tm >> nr;
t[r] = tm;
while ( nr-- ) {
fin >> ar;
rms[r].push_back( ar );
}
}
time = 0;
for ( i = 0; i < n; ++i ) {
if ( rms[i].size() > 0 ) {
if ( s[i] == 0 ) {
s[i] = 1;
time += t[i];
}
for ( int j = 0; j < rms[i].size(); ++j ) {
s[rms[i][j]] = 1 - s[rms[i][j]];
}
}
}
fout << time;
fin.close();
fout.close();
return 0;
}