#include <iostream> #include <algorithm> #include <cmath> #include <vector> using namespace std ; int main() { int n ; cin >> n ; vector<int> s(n) ; for ( int i = 0 ; i <(int) n ; ++i) cin >> s[i] ; int max1 = *max_element(s.begin(), s.end()); while (max1>0) { int count = 0 ; int min1 = max1 ; for ( int i = 0 ; i <(int) n ; ++i) if (s[i] > 0) min1 = min(min1,s[i]) ; for ( int i = 0 ; i < (int)n ; ++i ) if ( s[i] > 0 ) { ++count ; s[i] -= min1 ; } cout << count << endl ; max1 = *max_element(s.begin(), s.end()); } return 0 ; }
#include <iostream> #include <algorithm> #include <vector> using namespace std ; int main() { int n; cin >> n; vector <int>s(n); for(int i = 0; i < n; ++i) { cin >> s[i]; } sort(s.begin(),s.end()) ; int min1 = s[0] ; int max1 = s[n-1] ; while(max1 > 0) { int count = 0; for(int i = 0; i < (int)n; ++i) { if(s[i] > 0) { ++count; s[i] -= min1; } } cout << count<< endl; for ( int i = 0 ; i < (int)n;++i) if(s[i] > 0) { min1 = s[i] ; break ; } max1 = s[n-1] ; } return 0; }