259
Cerința
Gigel are p
iepuri pe care vrea să-i distribuie în n
cuști astfel încât:
- toți iepurii să intre în cuști
- fiecare cușcă să conțină cel puțin un iepure
- să nu existe două cuști cu același număr de iepuri
- diferența dintre numărul maxim de iepuri dintr-o cușcă și numărul minim de iepuri dintr-o cușcă să fie minimă
Determinați o modalitate de distribuire a iepurilor în cuști care să respecte condițiile de mai sus.
Date de intrare
Programul citește de la tastatură numerele n
și p
.
Date de ieșire
Programul va afișa pe ecran n
numere naturale, reprezentând numărul de iepuri din fiecare cușcă..
Restricții și precizări
1 ≤ n ≤ 100
1 ≤ p ≤ 1 000 000
- pentru toate datele de test există soluție
Exemplu
Intrare
3 10
Ieșire
2 3 5
#include <bits/stdc++.h> using namespace std; int main() { int n , p; cin >> n >> p; int a[100]; for(int i = 1 ; i <= n ; ++i) a[i]=i , p-=i; int parte=p/n; int rest=p%n; for(int i = 1 ; i <= n ; ++i) a[i]+=parte; for(int i = n ; i >= 1 && rest; --i) { a[i]+=1; rest--; } for(int i = 1 ; i <= n ; ++i) cout << a[i] << ' '; return 0; }
Comentarii