結果
問題 | No.322 Geometry Dash |
ユーザー |
![]() |
提出日時 | 2015-12-22 16:56:52 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 612 ms / 2,000 ms |
コード長 | 3,002 bytes |
コンパイル時間 | 2,646 ms |
コンパイル使用メモリ | 92,088 KB |
実行使用メモリ | 53,752 KB |
最終ジャッジ日時 | 2024-11-08 18:40:16 |
合計ジャッジ時間 | 21,785 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 27 |
ソースコード
import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.Arrays; import java.util.BitSet; import java.util.HashMap; import java.util.Random; public class Main { public static void main(String[] args) throws NumberFormatException, IOException {Solve solve = new Solve();solve.solve();} } class Solve{ void dump(int[]a){for(int i=0;i<a.length;i++) System.out.print(a[i]+" ");System.out.println();}; void solve() throws NumberFormatException, IOException{ ContestScanner in = new ContestScanner(); Writer out = new Writer(); int n = in.nextInt(); Stage[] st = new Stage[n]; int[] t = new int[n]; int[] d = new int[n]; for(int i=0; i<n; i++) t[i] = in.nextInt(); for(int i=0; i<n; i++) d[i] = in.nextInt(); for(int i=0; i<n; i++) st[i] = new Stage(i+1, t[i], d[i]); Arrays.sort(st); StringBuilder sb = new StringBuilder(); Arrays.stream(st).forEach(e->sb.append(e.id+" ")); System.out.println(sb.toString().trim()); } } class Stage implements Comparable<Stage>{ int t, d, id; double value; Stage(int id, int t, int d){ this.id = id; this.t = t; this.d = d; value = (double)t/d; } @Override public int compareTo(Stage o) { return Double.compare(o.value, value); } } class MultiSet<T> extends HashMap<T, Integer>{ @Override public Integer get(Object key){return containsKey(key)?super.get(key):0;} public void add(T key,int v){put(key,get(key)+v);} public void add(T key){put(key,get(key)+1);} public void sub(T key){ final int num = get(key); if(num==1) remove(key); else put(key, num-1); } } class Writer extends PrintWriter{ public Writer(String filename) throws IOException {super(new BufferedWriter(new FileWriter(filename)));} public Writer() throws IOException{super(System.out);} } class ContestScanner { private InputStreamReader reader;int c=-2; public ContestScanner() throws IOException {reader = new InputStreamReader(System.in);} public ContestScanner(String filename) throws IOException {reader = new InputStreamReader(new FileInputStream(filename));} public String nextToken() throws IOException { StringBuilder sb = new StringBuilder();if(c==-2) c=reader.read(); while(c!=-1&&(c==' '||c=='\t'||c=='\n'||c=='\r'))c=reader.read(); while(c!=-1&&c!=' '&&c!='\t'&&c!='\n'&&c!='\r'){sb.appendCodePoint(c);c=reader.read();} return sb.toString(); } public String readLine() throws IOException{ StringBuilder sb = new StringBuilder();if(c==-2)c=reader.read(); while(c!=-1&&c!='\n'&&c!='\r'){sb.appendCodePoint(c);c=reader.read();} return sb.toString(); } public long nextLong() throws IOException, NumberFormatException {return Long.parseLong(nextToken());} public int nextInt() throws NumberFormatException, IOException {return (int) nextLong();} public double nextDouble() throws NumberFormatException, IOException {return Double.parseDouble(nextToken());} }