Cod sursa(job #2121023)

Utilizator gufet24Stan Stefan gufet24 Data 3 februarie 2018 11:15:08
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("aprindere.in");
ofstream fout("aprindere.out");

int n, m, cost;

struct intrerupator
{
    int camera, t, nrc, v[102];
} a[1002];

bool camere[1002];

bool cmp(const intrerupator p, const intrerupator q)
{
    return p.camera<q.camera;
}

int main()
{
    int i, j;
    fin>>n>>m;
    for(i=0; i<=n-1; i++)
        fin>>camere[i];
    for(i=1; i<=m; i++)
    {
        fin>>a[i].camera>>a[i].t>>a[i].nrc;
        for(j=1; j<=a[i].nrc; j++)
            fin>>a[i].v[j];
        sort(a[i].v+1,a[i].v+a[i].nrc+1);
    }
    sort(a+1,a+m+1,cmp);
    for(i=1; i<=m; i++)
    {
        if(camere[a[i].camera]==0)
        {
            cost+=a[i].t;
            for(j=1; j<=a[i].nrc; j++)
                camere[a[i].v[j]]=1 - camere[a[i].v[j]];
        }
    }
    fout<<cost<<'\n';
    return 0;
}