现在的位置: 首页 > 综合 > 正文

Hackerrank Cut the sticks

2018年10月30日 ⁄ 综合 ⁄ 共 776字 ⁄ 字号 评论关闭
#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;
}

抱歉!评论已关闭.