Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/kalkin | Diferente pentru concurs-mihai-patrascu-2013 intre reviziile 5 si 6 | Cod sursa (job #2001925) | Cod sursa (job #1081489)
#include <fstream>
#include <algorithm>
using namespace std;
int n, m, v[1010];
struct stu {int C, T, a[1010];} a[1010];
inline bool cmp(stu a, stu b)
{
return a.C < b.C;
}
int main()
{
ifstream f("aprindere.in");
ofstream g("aprindere.out");
f >> n >> m;
for (int i = 1; i <= n; ++i)
f >> v[i];
for (int i = 1; i <= m; ++i)
{
f >> a[i].C >> a[i].T >> a[i].a[0];
++a[i].C;
for (int j = 1; j <= a[i].a[0]; ++j)
{
f >> a[i].a[j];
++a[i].a[j];
}
}
sort(a + 1, a + m + 1, cmp);
int sol = 0;
for (int i = 1; i <= m; ++i)
if (!v[a[i].C])
{
sol += a[i].T;
for (int j = 1; j <= a[i].a[0]; ++j)
v[a[i].a[j]] = !v[a[i].a[j]];
}
g << sol << '\n';
return 0;
}