Ho scritto il codice risolutivo del problema però il primo caso del secondo subtask mi da output errato.
Questo è il codice:
#include <iostream>
using namespace std;
int N, D;
int min_day = 370;
int commit[370];
string lun;
string mart;
string mer;
string gio;
string ven;
string sab;
string dom;
int main()
{
cin >> D >> N;
for(int i = 0; i < N; i++)
{
int commit_temp;
cin >> commit_temp;
commit_temp--;
commit[commit_temp]++;
if(commit_temp < min_day)
min_day = commit_temp;
}
// LUNEDI
for(int i = 0; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
lun += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
lun += 'o';
else if(commit[i] > 19)
lun += 'O';
}
// MARTEDI
for(int i = 1; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
mart += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
mart += 'o';
else if(commit[i] > 19)
mart += 'O';
}
// MERCOLEDI
for(int i = 2; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
mer += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
mer += 'o';
else if(commit[i] > 19)
mer += 'O';
}
// GIOVEDI
for(int i = 3; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
gio += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
gio += 'o';
else if(commit[i] > 19)
gio += 'O';
}
// VENERDI
for(int i = 4; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
ven += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
ven += 'o';
else if(commit[i] > 19)
ven += 'O';
}
// SABATO
for(int i = 5; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
sab += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
sab += 'o';
else if(commit[i] > 19)
sab += 'O';
}
// DOMENICA
for(int i = 6; i < min_day + D; i+= 7)
{
if(commit[i] < 10)
dom += '.';
else if(commit[i] >= 10 && commit[i] <= 19)
dom += 'o';
else if(commit[i] > 19)
dom += 'O';
}
cout << lun << endl << mart << endl << mer << endl << gio << endl << ven << endl << sab << endl << dom << endl;
return 0;
}