fork download
  1.  
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. struct Month { string month; int days; } Monthk;
  8. struct dayy { string month; int days; } daykk;
  9. int main()
  10. {
  11. Month month[] = {
  12. { "January", 31 },
  13. { "February", 28 },
  14. { "March", 31 },
  15. { "April", 30 },
  16. { "May", 31 },
  17. { "June", 30 },
  18. { "July", 31 },
  19. { "August", 31 },
  20. { "September", 30 },
  21. { "October", 31 },
  22. { "November", 30 },
  23. { "December", 31 }
  24. };
  25. dayy day[] = {
  26. { "Monday", 1 },
  27. { "Tuesday", 2 },
  28. { "Wednesday", 3 },
  29. { "Thursday", 4 },
  30. { "Friday", 5 },
  31. { "Saturday ", 6 },
  32. { "Sunday", 7 }
  33. };
  34.  
  35. int summ[7] = { 0, 0, 0, 0, 0, 0, 0 };
  36. int n, year;
  37. int a[366]; string b[366];
  38. int day_i;
  39. string day_s;
  40. cin >> n;
  41. cin >> year;
  42. if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
  43. {
  44. month[1].days = 29;
  45. }
  46.  
  47. for (int i = 0; i < n; i++)
  48. cin >> a[i] >> b[i];
  49. cin >> day_s;
  50.  
  51. for (int i = 1; i<=7; i++)
  52. if (day_s == day[i - 1].month) { day_i = day[i - 1].days; break; }
  53.  
  54. int sum = 0;
  55. for (int i = 0; i < n; i++)
  56. {
  57. int day_ii = 0;
  58. sum = 0;
  59. for (int j = 0; b[i] != month[j].month; j++) sum += month[j].days;
  60. sum += a[i];
  61. day_ii = sum % 7 - 1 + day_i;
  62. if (day_i>7) day_i -= 7;
  63. for (int j = 1; j<=7; j++)
  64. if (day_ii == j) summ[j-1]++;
  65. }
  66. int min = 0, max = 0,max_,min_;
  67. for (int i = 1; i <= 7; i++)
  68. {
  69. if (summ[i - 1] > max) { max_ = i; max = summ[i - 1]; }
  70. }
  71. min = max;
  72. for (int i = 1; i <= 7; i++)
  73. {
  74. if (summ[i - 1] < min) { min_ = i; min = summ[i - 1]; }
  75. }
  76. string maxd, mind;
  77. for (int i = 1; i <= 7; i++)
  78. {
  79. if (max_ == i) maxd = day[i-1].month;
  80. if (min_ == i) mind = day[i-1].month;
  81. }
  82. cout << mind << " "<<maxd;
  83. return 0;
  84. }
  85.  
  86.  
Success #stdin #stdout 0s 3480KB
stdin
3
2013
6 February
13 February
20 February
Tuesday
stdout
Monday Wednesday