Advertisement
Guest User

Untitled

a guest
May 23rd, 2015
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // Pancakes
  4. //
  5. // Created by meltaweel on 4/11/15.
  6. // Copyright (c) 2015 meltaweel. All rights reserved.
  7. //
  8.  
  9. #include <cstring>
  10. #include <string.h>
  11. #include <map>
  12. #include <deque>
  13. #include <queue>
  14. #include <stack>
  15. #include <sstream>
  16. #include <iostream>
  17. #include <iomanip>
  18. #include <cstdio>
  19. #include <cmath>
  20. #include <cstdlib>
  21. #include <ctime>
  22. #include <algorithm>
  23. #include <vector>
  24. #include <set>
  25. #include <complex>
  26. #include <list>
  27.  
  28. using namespace std;
  29.  
  30.  
  31.  
  32. int ReadNumbers( const string & s, vector <int> & v ) {
  33. istringstream is( s );
  34. int n;
  35. while( is >> n ) {
  36. v.push_back( n );
  37. }
  38.  
  39. //std::sort (v.begin(), v.end());
  40. //std::reverse(v.begin(),v.end());
  41.  
  42. return (int)v.size();
  43. }
  44.  
  45. int findMinTime(int tTime, vector<int> &v){
  46. int sum=0;
  47. for(std::vector<int>::size_type i = 0; i != v.size(); i++) {
  48. sum +=(int) ( (v[i]-1) / tTime) ;
  49. }
  50.  
  51. return tTime+sum;
  52. }
  53.  
  54. int N;
  55. int main(int argc, char *args[]) {
  56.  
  57. if (argc == 2 && strcmp(args[1], "small") == 0) {
  58. freopen("small.in","rt",stdin);
  59. freopen("small.out","wt",stdout);
  60. }
  61. else if (argc == 2 && strcmp(args[1], "large") == 0) {
  62. freopen("large.in","rt",stdin);
  63. freopen("large.out","wt",stdout);
  64. }
  65. else {
  66. freopen("test.in", "r", stdin);
  67.  
  68. }
  69.  
  70. cin>>N;
  71.  
  72.  
  73.  
  74. string pans_string;
  75. int i,j,D,minTime,temp_time;
  76. vector<int> pans;
  77.  
  78. for (i=1; i<N+1; i++) {
  79. cin>>D;
  80. std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
  81. getline(cin,pans_string);
  82. j = ReadNumbers(pans_string, pans);
  83.  
  84.  
  85. minTime = *max_element(pans.begin(),pans.end());
  86.  
  87. temp_time = 2;
  88.  
  89. while(temp_time < minTime){
  90.  
  91. minTime = min(minTime, findMinTime(temp_time,pans ) );
  92.  
  93. temp_time++;
  94. }
  95.  
  96.  
  97.  
  98. printf("Case #%d: %d", i,minTime);
  99. cout<<endl;
  100. pans.clear();
  101. }
  102.  
  103. return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement