Cod sursa(job #3265953)

Utilizator BricolonePundichi Cristian Bricolone Data 4 ianuarie 2025 14:24:08
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
using namespace std;

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

struct camera {
    int nr, timp, nrcam, vnrcam[1000];
};

int main(void) {
    int n, m, a[1000], sum = 0;
    camera b[1000];
    
    fin >> n >> m;
    for (int i = 0; i < n; i++)
        fin >> a[i];
        
    for (int i = 0; i < m; i++) {
        fin >> b[i].nr >> b[i].timp >> b[i].nrcam;
        for (int j = 0; j < b[i].nrcam; j++)
            fin >> b[i].vnrcam[j];
    }
    
    for (int i = 0; i < m - 1; i++)
        for (int j = i + 1; j < m; j++)
            if (b[i].nr > b[j].nr)
                swap(b[i], b[j]);
                
    for (int i = 0; i < m; i++) {
        if (!a[b[i].nr]) {
            for (int j = 0; j < b[i].nrcam; j++)
                (a[b[i].vnrcam[j]]) ? a[b[i].vnrcam[j]] = 0 : a[b[i].vnrcam[j]] = 1;
            sum += b[i].timp;
        }
    }
    
    fout << sum;
        
    return 0;
}