Cod sursa(job #2497426)

Utilizator VanillaSoltan Marian Vanilla Data 22 noiembrie 2019 17:17:59
Problema Aprindere Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.25 kb
type roomr = record
        haslight:boolean;
        haswich:boolean;
        time:integer;
        changes:integer;
        change:array[0..1003] of integer;
        end;
type vector = array[0..1003] of roomr;
var room:vector;
var i,o,l,p,k,m,n,j:longint;
rs:int64;
fin,fout:textfile;
begin
assign(fin,'aprindere.in');
reset(fin);
assign(fout,'aprindere.out');
rewrite(fout);
read(fin,n,m);
for i:=0 to n-1 do begin
        read(fin,k);
        if k = 1 then
                room[i].haslight:=true;
        end;
for i:=1 to m do begin
        read(fin,k);
        room[k].haswich:=true;
        read(fin,l);
        room[k].time:=l;
        read(fin,l);
        room[k].changes:=l;
        for j:=0 to l-1 do begin
                read(fin,p);
                room[k].change[j]:=p;
                end;
        end;
for i:=0 to n-1 do begin
        if not room[i].haslight then begin
                rs:=rs+room[i].time;
               // writeln(fout,i);
                for j:=0 to room[i].changes do begin
                        room[room[i].change[j]].haslight:=not room[room[i].change[j]].haslight;
                        end;
                end;
        end;
writeln(fout,rs);
close(Fin);
close(fout);
end.