結果

問題 No.647 明太子
コンテスト
ユーザー fal_rnd
提出日時 2018-02-12 17:55:41
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
AC  
実行時間 333 ms / 4,500 ms
コード長 798 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,815 ms
コンパイル使用メモリ 91,996 KB
実行使用メモリ 51,944 KB
最終ジャッジ日時 2026-03-14 05:38:46
合計ジャッジ時間 7,678 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.util.*;
import java.util.stream.*;

class A{
	static class Person{
		int cost,hot;
		Person(int c,int h){
			this.cost=c;
			this.hot=h;
		}
		boolean isMatch(int v,int h) {
			return cost>=v&&hot<=h;
		}
	}
	public static void main(String[]$){
		Scanner s=new Scanner(System.in);
		int n=s.nextInt();
		Person[]p=IntStream.range(0,n)
				.mapToObj(i->new Person(s.nextInt(),s.nextInt()))
				.toArray(Person[]::new);
		int m=s.nextInt();

		ArrayList<Integer>l=new ArrayList<>();
		l.add(0);
		long max=0;
		for(int i=1;i<=m;++i) {
			int x=s.nextInt(),y=s.nextInt();
			long v=Arrays.stream(p)
					.filter(o->o.isMatch(x,y))
					.count();
			if(max<v) {
				max=v;
				l.clear();
				l.add(i);
			}else if(v>0&&max==v) {
				l.add(i);
			}
		}
		l.forEach(System.out::println);
	}
}
0