Решение задачи Даны длина и сумма цифр... с Codeforces

Без пояснения   Просмотров: 40


Вам задано положительное целое число m и неотрицательное целое число s. Ваша задача найти наименьшее и наибольшее из чисел, которые имеют длину m и сумму цифр s. Искомые числа должны быть неотрицательными целыми, записанными в десятичной системе счисления без ведущих нулей.

Код

include <iostream>
#include <algorithm>
#include <cmath>
 
using namespace std;
 
int main() {
	int m, s, i, k;
	cin >> m >> s;
	if (s < 1 && m > 1 || s > m * 9) {
		cout << "-1 -1";
		return 0;
	}	
	for (i = m - 1, k = s; i >= 0; i--) {
		int j = max(0, k - 9 * i);
		if (j == 0 && i == m - 1 && k) {
			j = 1;
		}
		cout << j;
		k -= j;
	}
	cout << " ";
	for (i = m - 1, k = s; i >= 0; i--) {
		int j = min(9, k);
		cout << j;
		k -= j;
	}
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться