結果
問題 | No.706 多眼生物の調査 |
ユーザー | fal_rnd |
提出日時 | 2018-06-30 23:36:07 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 295 ms / 2,000 ms |
コード長 | 2,779 bytes |
コンパイル時間 | 2,706 ms |
コンパイル使用メモリ | 89,380 KB |
実行使用メモリ | 55,692 KB |
最終ジャッジ日時 | 2024-07-01 01:02:50 |
合計ジャッジ時間 | 4,735 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 139 ms
54,480 KB |
testcase_01 | AC | 141 ms
54,744 KB |
testcase_02 | AC | 140 ms
54,148 KB |
testcase_03 | AC | 177 ms
54,620 KB |
testcase_04 | AC | 175 ms
54,576 KB |
testcase_05 | AC | 235 ms
55,388 KB |
testcase_06 | AC | 295 ms
55,692 KB |
testcase_07 | AC | 140 ms
54,332 KB |
ソースコード
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.PrimitiveIterator; import java.util.Scanner; import java.util.function.Supplier; import java.util.stream.IntStream; import java.util.stream.Stream; public class Main{ static Scanner s=new Scanner(System.in); void solve(){ Map<Integer,Integer> m=new HashMap<>(); for(String v:strs(gInt())) m.merge(v.length(),1,Integer::sum); System.out.println( m.entrySet().stream() .max(Entry.<Integer,Integer>comparingByValue().thenComparing(Entry.<Integer,Integer>comparingByKey())) .get().getKey()-2 ); } public static void main(String[] A){ new Main().solve(); } static int gInt(){ return Integer.parseInt(s.next()); } static long gLong(){ return Long.parseLong(s.next()); } static double gDouble(){ return Double.parseDouble(s.next()); } SupplyingIterator<Integer> ints(int n){ return new SupplyingIterator<>(n,Main::gInt); } SupplyingIterator<Long> longs(int n){ return new SupplyingIterator<>(n,Main::gLong); } SupplyingIterator<Double> doubles(int n){ return new SupplyingIterator<>(n,Main::gDouble); } SupplyingIterator<String> strs(int n){ return new SupplyingIterator<>(n,s::next); } Range rep(int i){ return Range.rep(i); } Range rep(int f,int t,int d){ return Range.rep(f,t,d); } Range rep(int f,int t){ return rep(f,t,1); } Range rrep(int f,int t){ return rep(t,f,-1); } IntStream REP(int v){ return IntStream.range(0,v); } IntStream REP(int l,int r){ return IntStream.rangeClosed(l,r); } IntStream INTS(int n){ return IntStream.generate(Main::gInt).limit(n); } Stream<String> STRS(int n){ return Stream.generate(s::next).limit(n); } } class SupplyingIterator<T> implements Iterable<T>,Iterator<T>{ int t; Supplier<T> supplier; SupplyingIterator(int t,Supplier<T> supplier){ this.t=t; this.supplier=supplier; } @Override public Iterator<T> iterator(){ return this; } @Override public boolean hasNext(){ return t>0; } @Override public T next(){ --t; return supplier.get(); } } class Range implements Iterable<Integer>,PrimitiveIterator.OfInt{ int to,cur,d; Range(int from,int to,int d){ this.cur=from-d; this.to=to; this.d=d; } Range(int n){ this(0,n-1,1); } @Override public Iterator<Integer> iterator(){ return this; } @Override public boolean hasNext(){ return cur+d==to||(cur!=to&&(cur<to==cur+d<to)); } @Override public int nextInt(){ return cur+=d; } static Range rep(int i){ return new Range(i); } static Range rep(int f,int t,int d){ return new Range(f,t,d); } static Range rep(int f,int t){ return rep(f,t,1); } static Range rrep(int f,int t){ return rep(f,t,-1); } }