Pagini recente » Cod sursa (job #36971) | Cod sursa (job #3214938) | Cod sursa (job #3204681) | Cod sursa (job #1599504) | Cod sursa (job #2169118)
/*#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("aprindere.in");
ofstream g("aprindere.out");
struct intrerupator
{
int loc,t,nrafect,v[101];
} a[1001];
int cam[1001];
int n,m,i,j;
int verif(intrerupator x,int A)
{
ok=0;
for(j=1; j<=x.nrafect; j++)
if(x.v[j]==A)
{
ok=1;
break;
}
return ok;
}
int ok(intrerupator x)
{
poz=0;
for(i=1; i<=n; i++)
if(cam[i]==0&&verif(x,cam[i])==1) poz++;
return poz;
}
int compare(intrerupator x,intrerupator y)
{
if(x.t<y.t) return 1;
if(x.t==y.t&&x.nrafect<y.nrafect) return 1;
if(x.t==y.t&&x.nrafect==y.nrafect&&ok(x)<=ok(y)) return 1;
}
int main()
{
f>>n>>m;
for(i=1; i<=n; i++) f>>cam[i];
for(i=1; i<=m; i++)
{
f>>a[i].loc>>a[i].t>>a[i].nrafect;
for(j=1; j<=a[i].nrafect; j++) f>>a[i].v[j];
}
sort(a+1,a+n+1,compare);
for(i=n; i>=1; i--)
{
if(cam[i]==0&&verif(a,cam[i])==1)
for()
}
return 0;
}*/
#include <fstream>
using namespace std;
ifstream f("aprindere.in");
ofstream g("aprindere.out");
struct adda
{
int t,nr;
} v[1001];
int c[1005][1005],n,m,a[1001],ca,i,j,timp;
int main()
{
f>>n>>m;
for (i=0; i<n; i++)
{
f>>a[i];
}
for (i=1; i<=m; i++)
{
f>>ca;
f>>v[ca].t>>v[ca].nr;
for (j=1; j<=v[ca].nr; j++)
{
f>>c[ca][j];
}
}
timp=0;
for (i=0; i<n; i++)
{
if (a[i]==0)
{
timp=timp+v[i].t;
for (j=1; j<=v[i].nr; j++)
{
a[c[i][j]]=1-a[c[i][j]];
}
}
}
g<<timp;
return 0;
}