Pagini recente » Cod sursa (job #2443072) | Cod sursa (job #2569761) | Cod sursa (job #1514661) | Cod sursa (job #162672) | Cod sursa (job #1787545)
#include <cstdio>
#include <algorithm>
using namespace std;
int m, n, a[1002], b[1002], t[1002], nr[1002], pos[1002], p[1002][1002];
inline bool cmp(int x, int y){
return a[x] < a[y];
}
int main()
{
freopen("aprindere.in", "r", stdin);
freopen("aprindere.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i = 0; i < n ; ++i)
scanf("%d", &b[i]);
for(int j = 1; j <= m ; ++j){
scanf("%d", &a[j]); pos[j] = j;
scanf("%d", &t[j]);
scanf("%d", &nr[j]);
for(int i = 1; i <= nr[j] ; ++i)
scanf("%d", &p[j][i]);
}
sort(pos + 1, pos + m + 1, cmp);
int st = 1, Sol = 0;
for(int i = 0; i < n ; ++i){
if(b[i] == 0){
while(a[pos[st]] < i)
++st;
Sol += t[pos[st]];
for(int j = 1; j <= nr[pos[st]] ; ++j){
if(b[p[pos[st]][j]] == 0)
b[p[pos[st]][j]] = 1;
else
b[p[pos[st]][j]] = 0;
}
}
}
printf("%d", Sol);
return 0;
}