fork download
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. void wczytanie_zestawu();
  7. double liczenie(int, int, int []);
  8. void wypisanie_wyniku();
  9.  
  10. int liczba_zestawow;
  11. int goscie, ciastka;
  12. int *czas = new int[goscie];
  13. int *wyniki = new int[liczba_zestawow];
  14.  
  15. int main(){
  16.  
  17. while (!(cin >> liczba_zestawow && liczba_zestawow >= 1)){
  18. cin.clear();
  19. cin.sync();
  20. }
  21.  
  22. for (int l=0; l<liczba_zestawow; l++){
  23. wczytanie_zestawu();
  24. wyniki[l]=liczenie(goscie, ciastka, czas);
  25. }
  26.  
  27. wypisanie_wyniku();
  28.  
  29. delete [] czas;
  30. delete [] wyniki;
  31. return 0;
  32. }
  33.  
  34. void wczytanie_zestawu(){
  35. while (!(cin >> goscie >> ciastka && 1<=goscie<=10000 && 1<=ciastka<=1000000000)){
  36. cin.clear();
  37. cin.ignore();
  38. }
  39. for (int i=0; i<goscie; i++){
  40. while (!(cin >> czas[i] && czas[i] >= 1)){
  41. cin.clear();
  42. cin.ignore();
  43. }
  44. }
  45. }
  46.  
  47. double liczenie(int liczba_g, int liczba_c, int liczba_s[]){
  48. double suma = 0;
  49. double ciastka_goscia = 0;
  50. double x;
  51. for (int k=0; k<liczba_g; k++){
  52. ciastka_goscia = 86400 / liczba_s[k];
  53. ciastka_goscia = floor(ciastka_goscia);
  54. suma+=ciastka_goscia;
  55. ciastka_goscia=0;
  56. x = ceil(suma/liczba_c);
  57. }
  58. suma=0;
  59. return x;
  60. }
  61.  
  62. void wypisanie_wyniku(){
  63. for(int m=0; m<liczba_zestawow; m++){
  64. cout << wyniki[m] << endl;
  65. }
  66. }
Time limit exceeded #stdin #stdout 5s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty