fbpx

Problema #1002 – Paginare – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dau n numere întregi. Calculaţi cel mai mic dintre cele n numere date.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere întregi, separate prin spaţii.

Date de ieşire

Programul afișează pe ecran numărul MIN, reprezentând cel mai mic dintre cele n numere date.

Restricţii şi precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor avea cel mult 9 cifre

Exemplu

Date de intrare

57 6 9 6 8

Date de ieșire

6
#include <iostream>

const int volume = 792;

int main() {

	// freopen("inputf.in", "r", stdin);
	// freopen("outputf.in", "w", stdout);
	
	int n;
	int pages = 0;
	int result;
	int temp;

	std :: cin >> n;

	if (n >= volume) {
		if (n % volume != 0)
			temp = n / volume + 1;
		else
			temp = n / volume;
		
		result = n % volume;

		if (result < 10) {
			pages = result;
		} else {
			pages = 9;
			result -= 9;
			if (result < 181) {
				if (result % 2 == 0)	
               		pages += result / 2;
                else {
                	std :: cout << "IMPOSIBIL";
                    return 0;
                }
			} else {
                pages = 99;
				result -= 180;
                if (result % 3 == 0)
					pages += result / 3;
                else {
                    std :: cout << "IMPOSIBIL";
                    return 0;
                }
			}
		
		}

		std :: cout << temp << ' ';
		if (n % volume == 0) {
			std :: cout << 300;
		} else {
			std :: cout << pages;
		}
	} else {
		std :: cout << "IMPOSIBIL";
	}
	return 0;
}
}
Comentarii

S-ar putea sa iti placa