Advertisement
Guest User

Untitled

a guest
May 20th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <fstream>
  2. #include <vector>
  3.  
  4. std::vector<int> read(const char* path, int& n, int& m)
  5. {
  6.     std::ifstream reader(path);
  7.     reader >> n >> m;
  8.     std::vector<int> maisai = std::vector<int>(n);
  9.    
  10.     for (int i = 0; i < n; i++)
  11.         reader >> maisai[i];
  12.  
  13.     reader.close();
  14.     return maisai;
  15. }
  16.  
  17. void process(
  18.     const std::vector<int>& maisai,
  19.     const int m,
  20.     int& driven_n,
  21.     int& max_yield,
  22.     int& max_yield_driven_n)
  23. {
  24.     max_yield = -1;
  25.     driven_n = 0;
  26.  
  27.     for (int i = 0; i < maisai.size(); i++)
  28.     {
  29.         int driven_i = maisai[i] / m;
  30.         if (maisai[i] % m != 0) driven_i++;
  31.  
  32.         driven_n += driven_i;
  33.    
  34.         if (maisai[i] > max_yield)
  35.         {
  36.             max_yield = maisai[i];
  37.             max_yield_driven_n = driven_i;
  38.         }
  39.     }
  40. }
  41.  
  42. void write(
  43.     const char* path,
  44.     const int driven_n,
  45.     const int max_yield,
  46.     const int max_yield_driven_n)
  47. {
  48.     std::ofstream writer(path);
  49.     writer << driven_n << '\n' << max_yield << " " << max_yield_driven_n;
  50.     writer.close();
  51. }
  52.  
  53. int main()
  54. {
  55.     int n, m, driven_n, max_yield, max_yield_driven_n;
  56.     std::vector<int> maisai = read("Duom1.txt", n, m);
  57.     process(maisai, m, driven_n, max_yield, max_yield_driven_n);
  58.     write("Rez1.txt", driven_n, max_yield, max_yield_driven_n);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement