Skip to content

Instantly share code, notes, and snippets.

@cocodrips
Last active December 19, 2015 00:00
Show Gist options
  • Save cocodrips/5865981 to your computer and use it in GitHub Desktop.
Save cocodrips/5865981 to your computer and use it in GitHub Desktop.
SRM145 DIV1 250 配列は参照渡しになるからのコピーはforでまわす(´・ω・`)
public int[] getDivision(int[] points) {
int total = 0;
int[] ans = new int[points.length];
total = arrayTotal(points);
for (int i = 0; i < ans.length; i++) {
ans[i] = (int) Math.floor(((double)points[i]/(double)total) * 100);
}
int otsuri = 100 - arrayTotal(ans);
int[] pointSort = new int[points.length];
for (int i = 0; i < pointSort.length; i++) {
pointSort[i] = points[i];
}
Arrays.sort(pointSort);
boolean[] pointFlag = new boolean[points.length];
Arrays.fill(pointFlag, false);
for (int i = 0; i < otsuri; i++) {
for (int j = 0; j < pointSort.length; j++) {
if(points[j] == pointSort[points.length - i -1] && !pointFlag[j]){
pointFlag[j] = true;
ans[j]+= 1;
break;
}
}
}
return ans;
}
int arrayTotal(int a[]){
int t = 0;
for (int i = 0; i < a.length; i++) {
t += a[i];
}
return t;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment