• Source
    1. #include <iostream>
    2. #include <vector>
    3.  
    4. using namespace std;
    5. int main() {
    6. int C[60];
    7. for (int i = 0; i < 60; i++) {
    8. cin >> C[i];
    9. }
    10. int S;
    11. cin >> S;
    12. int T[S], F[S];
    13. for (int i = 0; i < S; i++) {
    14. cin >> T[i] >> F[i];
    15. }
    16.  
    17. int cnt = 0;
    18. vector<int> W;
    19. double time = 0;
    20. int people = 0;
    21. for (int i = 0; i < 60; i++) {
    22. for (int j = 0; j < S; j++) {
    23. if (i == T[j] - 1) cnt += F[j];
    24. }
    25. for (int j = 0; j < C[i]; j++) {
    26. W.push_back(i+1);
    27. }
    28. for (; cnt > 0; cnt--) {
    29. if (!W.empty()) {
    30. time += i+1 - W.front();
    31. W.erase(W.begin());
    32. people ++;
    33. } else break;
    34. }
    35. }
    36.  
    37. cout << (time/people) << endl;
    38. return 0;
    39. }