結果
問題 | No.706 多眼生物の調査 |
ユーザー |
![]() |
提出日時 | 2018-06-30 23:36:07 |
言語 | Java (openjdk 23) |
結果 |
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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 5 |
ソースコード
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;}@Overridepublic Iterator<T> iterator(){return this;}@Overridepublic boolean hasNext(){return t>0;}@Overridepublic 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);}@Overridepublic Iterator<Integer> iterator(){return this;}@Overridepublic boolean hasNext(){return cur+d==to||(cur!=to&&(cur<to==cur+d<to));}@Overridepublic 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);}}