Untitled
unknown
plain_text
a year ago
1.1 kB
11
Indexable
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<string> schedule(7);
for (int i = 0; i < 7; ++i) {
cin >> schedule[i];
}
int d, h;
cin >> d >> h;
vector<pair<int, int>> days(7);
for (int i = 0; i < 7; ++i) {
days[i] = {count(schedule[i].begin(), schedule[i].end(), '.'), i};
}
sort(days.rbegin(), days.rend());
vector<int> selected_days;
for (int i = 0; i < d; ++i) {
selected_days.push_back(days[i].second);
}
vector<int> hour_counts(24, 0);
for (int hour = 0; hour < 24; ++hour) {
for (int day : selected_days) {
if (schedule[day][hour] == '.') {
hour_counts[hour]++;
}
}
}
sort(hour_counts.rbegin(), hour_counts.rend());
int available_slots = 0;
for (int i = 0; i < h; ++i) {
available_slots += hour_counts[i];
}
double probability = static_cast<double>(available_slots) / (d * h);
cout << fixed << setprecision(12) << probability << endl;
return 0;
}Editor is loading...
Leave a Comment