|  |  |  | @ -17,28 +17,28 @@ struct Input { | 
			
		
	
		
			
				
					|  |  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | Input | 
			
		
	
		
			
				
					|  |  |  |  | input_data() { | 
			
		
	
		
			
				
					|  |  |  |  | input_data(istream& in) { | 
			
		
	
		
			
				
					|  |  |  |  |     size_t number_count; | 
			
		
	
		
			
				
					|  |  |  |  |     cerr << "Enter number count: "; | 
			
		
	
		
			
				
					|  |  |  |  |     cin >> number_count; | 
			
		
	
		
			
				
					|  |  |  |  |     in >> number_count; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     Input in; | 
			
		
	
		
			
				
					|  |  |  |  |     in.numbers.resize(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |     Input on; | 
			
		
	
		
			
				
					|  |  |  |  |     on.numbers.resize(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |     for (size_t i = 0; i < number_count; i++) { | 
			
		
	
		
			
				
					|  |  |  |  |         cerr << "Enter number " << i+1 << ": "; | 
			
		
	
		
			
				
					|  |  |  |  |         cin >> in.numbers[i];} | 
			
		
	
		
			
				
					|  |  |  |  |         in >> on.numbers[i];} | 
			
		
	
		
			
				
					|  |  |  |  |     cerr << "Enter bin count: "; | 
			
		
	
		
			
				
					|  |  |  |  |     cin >> in.bin_count; | 
			
		
	
		
			
				
					|  |  |  |  |     in >> on.bin_count; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     in.n = 0; | 
			
		
	
		
			
				
					|  |  |  |  |     if (in.bin_count==0){ | 
			
		
	
		
			
				
					|  |  |  |  |         in.bin_count = sqrt(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |         in.n = 1; | 
			
		
	
		
			
				
					|  |  |  |  |         if (in.bin_count > 25){ | 
			
		
	
		
			
				
					|  |  |  |  |             in.bin_count = 1 + log2(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |             in.n = 2;}} | 
			
		
	
		
			
				
					|  |  |  |  |     on.n = 0; | 
			
		
	
		
			
				
					|  |  |  |  |     if (on.bin_count==0){ | 
			
		
	
		
			
				
					|  |  |  |  |         on.bin_count = sqrt(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |         on.n = 1; | 
			
		
	
		
			
				
					|  |  |  |  |         if (on.bin_count > 25){ | 
			
		
	
		
			
				
					|  |  |  |  |             on.bin_count = 1 + log2(number_count); | 
			
		
	
		
			
				
					|  |  |  |  |             on.n = 2;}} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     return in; | 
			
		
	
		
			
				
					|  |  |  |  |     return on; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -46,7 +46,7 @@ input_data() { | 
			
		
	
		
			
				
					|  |  |  |  | int main() | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     auto in = input_data(); | 
			
		
	
		
			
				
					|  |  |  |  |     auto in = input_data(cin); | 
			
		
	
		
			
				
					|  |  |  |  |     auto bins = make_histogram(in.numbers, in.bin_count); | 
			
		
	
		
			
				
					|  |  |  |  |     show_histogram_svg(bins); | 
			
		
	
		
			
				
					|  |  |  |  |     return 0; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |