Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.06 KB | None | 0 0
  1. package olymp;
  2.  
  3. import net.egork.collections.intcollection.IntArrayList;
  4. import net.egork.io.IOUtils;
  5. import net.egork.misc.ArrayUtils;
  6. import net.egork.utils.io.InputReader;
  7. import net.egork.utils.io.OutputWriter;
  8.  
  9. public class RCC_C {
  10.     public void solve(int testNumber, InputReader in, OutputWriter out) {
  11.         int n = in.readInt();
  12.         int[] d = IOUtils.readIntArray(in, n);
  13.         int max = ArrayUtils.maxElement(d);
  14.         IntArrayList[] positions = new IntArrayList[max + 1];
  15.         for (int i = 1; i <= max; i++) {
  16.             positions[i] = new IntArrayList();
  17.         }
  18.         for (int i = 0; i < n; i++) {
  19.             positions[d[i]].add(i);
  20.         }
  21.         for (int i = 1; i <= max; i++) {
  22.             positions[i].sort();
  23.         }
  24.         int[] a = new int[n];
  25.         for (int dVal = max, num = n; dVal >= 1; dVal--) {
  26.             for (int i = 0; i < positions[dVal].size(); i++) {
  27.                 int pos = positions[dVal].get(i);
  28.                 a[pos] = num--;
  29.             }
  30.         }
  31.         out.printLine(a);
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement