20 lines
		
	
	
		
			442 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			442 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "firstlevelgreedy.h"
 | 
						|
 | 
						|
Split firstLevelGreedy(std::size_t n, CoresList const& coresList) {
 | 
						|
	Split split;
 | 
						|
 | 
						|
	auto firstLevelPar = n;
 | 
						|
 | 
						|
	split.insert(0);
 | 
						|
	for(auto const& k: coresList) {
 | 
						|
		std::size_t start{};
 | 
						|
		std::size_t const step = (firstLevelPar + k-1)/k;
 | 
						|
		std::size_t const rk = (firstLevelPar + step-1)/step;
 | 
						|
 | 
						|
		for(unsigned int i = 0; i < rk; ++i, start += step)
 | 
						|
			split.insert(start * (n/firstLevelPar));
 | 
						|
	}
 | 
						|
 | 
						|
	return split;
 | 
						|
}
 |