Pagini recente » Cod sursa (job #2895932) | Cod sursa (job #1013308) | Cod sursa (job #2849260) | Cod sursa (job #1042018) | Cod sursa (job #1594638)
#include <fstream>
using namespace std;
int main()
{
ifstream in ("aprindere.in");
ofstream out ("aprindere.out");
int n, m, light[1000], arr[104][1000], i, j, timp=0, inchis=1, maxi, copie, inchis_linie, x;
in >> n >> m;
for (i=0; i <=n-1; i++)
{
in >> light[i];
}
for (i=1; i <=m ; i++)
{
in >> arr[i][1];
in >> arr[i][2];
in >> arr[i][3];
for (j=4; j <= 3+arr[i][3]; j++)
{
in >> arr[i][j];
}
}
x=1;
while(inchis != 0)
{
maxi=0;
inchis=0;
for (i=x; i <=m; i++)
{
inchis_linie=0;
for (j=4; j <= 3+arr[i][3]; j++)
{
if ( light[arr[i][j]] == 0)
{
inchis_linie++;
}
}
inchis = inchis + inchis_linie;
if ( inchis_linie > maxi)
{
copie=i;
maxi=inchis_linie;
}
}
for (j=4; j <= 3+arr[copie][3]; j++)
{
if (light[arr[copie][j]] == 1)
{
light[arr[copie][j]] = 0;
}
else
{
light[arr[copie][j]] = 1;
}
}
timp=timp+arr[copie][2];
x++;
}
out << timp;
return 0;
}