top 4bonuses-2-

来源:互联网 发布:期货书籍知乎 编辑:程序博客网 时间:2024/05/01 14:34

 

 
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>//sort
#include <vector>
 
using namespace std;
class Bonuses
{
public:
vector<int>getDivision(vector<int>points)
{
vector<int>V;
int i;
int sum=0;
int lev=0;
sum=Sum(points);
for(i=0;i<points.size();i++)
{
V.push_back( 100*points[i]/sum );
}       
lev=100-Sum(V);
           vector<int>sub;
           for(i=0;i<V.size();i++)
              sub.push_back(i);
              Pop_Tra(points,sub);
for(i=0;i<lev;i++)
{
                V[sub[i]]++;
}
            return V;
}
//////////////////////////////////////////////////////////////////////
    vector<int>Pop_Tra_Des(vector<int>&a)
{   int n=a.size();
    for(int i=0;i<n-1;i++)
       for(int j=0;j<n-i-1;j++)
        {
           if(a[j]<a[j+1])
           {
              swap(a[j],a[j+1]);
           }
        }
        return a;
    }
///////////////////////////////////////////////////////////////////////
         vector<int>Pop_Tra(vector<int>a,vector<int>&sub)
   {   int n=a.size();
       for(int i=0;i<n-1;i++)
         for(int j=0;j<n-i-1;j++)
          {
           if( a[sub[j]] < a[sub[j+1]] )
           {
              swap(sub[j],sub[j+1]);
           }
        }
        return a;
    }
////////////////////////////////////////////////////////////////////////
int Sum(vector<int>p)
{
if(p.empty())return 0;
int sum=0;
for( vector<int>::iterator it=p.begin();it!=p.end();it++ )sum+=*it;
return sum;
};
};
原创粉丝点击