#include #include #include using namespace std; struct Holiday { Holiday(int days, int start) { this->days = days; this->start = start; } int days; int start; }; int main() { const int NUM_OF_DAYS = 14; int d; cin >> d; char calendar[NUM_OF_DAYS + 1]; int index = 0; char buf[8]; for (int i = 0; i < 2; i++) { cin >> buf; for (int j = 0; j < 7; j++) { calendar[index++] = buf[j]; } } calendar[NUM_OF_DAYS] = '\0'; vector holidays; index = 0; while (index < NUM_OF_DAYS) { while (calendar[index] == 'x') index++; if (calendar[index] == '\0') break; int startIndex = index; while (calendar[index] == 'o') index++; holidays.push_back(Holiday(index - startIndex, startIndex)); } int maxDays = 0; if (holidays.size() == 0) { maxDays = d; } else { for (int i = 0; i < holidays.size(); i++) { if (i == 0) { maxDays = max(maxDays, holidays[i].days + d); } else { Holiday prev = holidays[i - 1]; Holiday current = holidays[i]; int interval = current.start - (prev.start + prev.days); if (d < interval) { maxDays = max(maxDays, prev.days + d); maxDays = max(maxDays, current.days + d); } else { maxDays = max(maxDays, prev.days + interval + current.days); } if (i == holidays.size() - 1) maxDays = max(maxDays, current.days + d); } } } cout << maxDays << endl; return 0; }