My solution
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#define all(v) (v).begin(),(v).end()
#define sz size()
#define REP(i,a,b) for(int i=int(a);i<int(b);i++)
#define fill(x,i) memset(x,i,sizeof(x))
#define foreach(c,it) for(__typeof((c).begin()) it=(c).begin();it!
=(c).end();it++)
using namespace std;
bool orden(pair<int,int> p, pair<int,int>q){
if(p.first!=q.first)return p.first>q.first;
return p.first<q.first;
}
class Bonuses {
public:vector <int> getDivision(vector <int> points) {
int sum=0;
int acu=0,cur,N=points.sz;
vector<int> ans;
vector<pair<int,int> > vp;
REP(i,0,N)
vp.push_back(make_pair(points[i],i));
sort(all(vp),orden);
REP(i,0,points.sz)sum+=points[i];
REP(i,0,points.sz){
cur=points[i]*100/sum;
acu+=cur;
ans.push_back(cur);
}
int pos=0;
while(acu<100){
ans[vp[pos].second]++;
acu++;
pos++;
}
return ans;
}
//Powered by [Ziklon]
};
--
You received this message because you are subscribed to the Google Groups
"google-codejam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-code?hl=en.