Mai intai trebuie sa te autentifici.
Cod sursa(job #2012401)
| Utilizator | Data | 18 august 2017 17:42:30 | |
|---|---|---|---|
| Problema | Aprindere | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.87 kb |
#include <cstdio>
using namespace std;
FILE *in,*out;
const int nrmax = 100;
const int nmax = 1000;
struct room
{
int s,t,nr,v[nrmax+1];
}c[1+nmax];
int main()
{
in = fopen("aprindere.in","r");
out = fopen("aprindere.out","w");
int n,m;
fscanf(in,"%d %d",&n,&m);
for(int i = 1;i <= n;i ++)
fscanf(in,"%d",&c[i].s);
for(int i = 1;i <= m;i ++)
{
int x;
fscanf(in,"%d",&x);
x ++;
fscanf(in,"%d",&c[x].t,&c[x].nr);
for(int j = 1;j <= c[x].nr;j ++)
fscanf(in,"%d",&c[i].v[j]);
}
int rez = 0;
for(int i = 1;i <= n;i ++)
{
if(c[i].s == 0)
{
rez += c[i].t;
for(int j = 1;j <= c[i].nr;j ++)
c[c[i].v[j]].s = 1 - c[c[i].v[j]].s;
}
}
fprintf(out,"%d\n",rez);
return 0;
}
