結果

問題 No.3534 Make Many Fences
コンテスト
ユーザー msksknkn
提出日時 2026-05-16 20:24:59
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
AC  
実行時間 876 ms / 1,000 ms
コード長 898 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 4,544 ms
コンパイル使用メモリ 81,252 KB
実行使用メモリ 68,760 KB
最終ジャッジ日時 2026-05-16 20:25:12
合計ジャッジ時間 8,116 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_0
純コード判定待ち
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 9
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package no3534_make_many_fence;
import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		StringBuilder sb = new StringBuilder();
		while(t > 0) {
			t--;
			long n = sc.nextInt();
			long m = sc.nextInt();
			long left = 0;
			long right = n;
			while(left < right - 1) {
				long mid = (left + right)/2;
				//フェンスを作る回数
				long make = (mid + 2)/3;
				//そのとき使う(加工を除いた)木材
				long w = make * 4;
				//そのとき使う棒の本数
				long b = make * 2;
				//のこりの木材
				long rw = n - w;
				//用意できる棒の本数
				long rb = m + (Math.max(0, rw)/2) * 4;
				if(rw >= 0 && rb >=b) {
					left = mid;
				}else {
					right = mid;
				}
			}System.out.println(left);
		}
		
	}

}
0