fork(1) download
  1. #include <vector>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. vector<vector<int>> split(const vector<int>& v, size_t n)
  7. {
  8. vector<vector<int>> r;
  9. for(size_t i = 0, S = v.size(), m = (S+n-1)/n; i < m; ++i)
  10. r.emplace_back(v.begin()+i*n,v.begin()+i*n+(i==m-1&&S%n?S%n:n));
  11. return r;
  12. }
  13.  
  14. int main(int argc, char * argv[])
  15. {
  16. for(auto a: split({1,2,3,4,5,6,7,8,9,10},3))
  17. {
  18. for(auto b: a) cout << b << " ";
  19. cout << "\n";
  20. }
  21. }
  22.  
Success #stdin #stdout 0.01s 5440KB
stdin
Standard input is empty
stdout
1  2  3  
4  5  6  
7  8  9  
10