Cod sursa(job #267685)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 27 februarie 2009 21:13:46
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<algorithm>
using namespace std;
int n,m;
int a[1001];
struct aprind{
	int tc,nrc,cam[101];};
aprind b[1001];
int schimb(int i,int j){
    if(!a[b[i].cam[j]])
        return 1;
    return 0;}
void solve(){
    int i,j,c,timp;
    scanf("%d%d",&n,&m);
    for(i=0; i<n; ++i)
		scanf("%d",&a[i]);
    for(i=0,scanf("%d",&c); i<m; scanf("%d",&c),++i){
        scanf("%d%d",&b[c].tc,&b[c].nrc);
        for(j=0; j<b[c].nrc; ++j)
            scanf("%d",&b[c].cam[j]);}
    for(i=0,timp=0; i<n; ++i)
        if(!a[i]){
            timp+=b[i].tc;
            for(j=0; j<b[i].nrc; ++j)
                a[b[i].cam[j]]=schimb(i,j);}
    printf("%d",timp);}
int main(){
	freopen("aprindere.in","r",stdin);
	freopen("aprindere.out","w",stdout);
    solve();
    return 0;}