Cod sursa(job #738470)

Utilizator TrixerAdrian Dinu Trixer Data 20 aprilie 2012 15:20:28
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
int n,m,l[1001],nr,t,i,j,c,l2[101],aux,timp=0,ok;
ifstream f;
ofstream g;

    f.open("aprindere.in");
    f>>n>>m;
    for (i=0;i<n;i++) f>>l[i];

    for (j=1;j<=m;j++)
        {
            ok=0;
            f>>c>>t>>nr;
            for (i=1;i<=nr;i++) {f>>l2[i]; if (l[l2[i]]==0) {aux=i; ok=1; break;}}
            if (ok==1)
            {
                timp+=t;
                for (i=i+1;i<=nr;i++) {f>>l2[i]; if (l[l2[i]]==0) l[l2[i]]=1;
                                                 else l[l2[i]]=0;
                                      }
                for (i=1;i<=aux;i++) {if (l[l2[i]]==0) l[l2[i]]=1;
                                      else l[l2[i]]=0;
                                     }
            }
        }
    f.close();

    g.open("aprindere.out");
    g<<timp;
    g.close();

return 0;
}