Pagini recente » Cod sursa (job #2321432) | Cod sursa (job #3195362) | Cod sursa (job #345297) | Cod sursa (job #2845661) | Cod sursa (job #2496797)
#include <bits/stdc++.h>
using namespace std;
ifstream f("test.in");
ofstream g("test.out");
struct intrerupatoare{
int c, t, m;
int ca[101];
}a[1001];
bool cmp(intrerupatoare a, intrerupatoare b){
return a.c<b.c || (a.c==b.c && a.t<b.t);
}
int n,m,ap[1001],cost;
int main(){
f>>n>>m;
for(int i=0; i<n; ++i)
f>>ap[i];
for(int i=1; i<=m; ++i){
f>>a[i].c>>a[i].t>>a[i].m;
for(int j=1; j<=a[i].m; ++j)
f>>a[i].ca[j];
}
sort(a+1, a+m+1, cmp);
for(int i=1; i<=m; ++i){
if(ap[a[i].c]==0){
cost=cost+a[i].t;
ap[a[i].c]==1;
for(int j=1; j<=a[i].m; ++j)
ap[a[i].ca[j]]=!ap[a[i].ca[j]];
}
}
g<<cost<<'\n';
return 0;
}