結果
| 問題 | No.67 よくある棒を切る問題 (1) | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2015-06-08 12:07:00 | 
| 言語 | Java (openjdk 23) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 1,108 ms / 5,000 ms | 
| コード長 | 898 bytes | 
| コンパイル時間 | 3,328 ms | 
| コンパイル使用メモリ | 81,652 KB | 
| 実行使用メモリ | 72,160 KB | 
| 最終ジャッジ日時 | 2025-03-03 10:19:37 | 
| 合計ジャッジ時間 | 30,247 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 30 | 
ソースコード
import java.text.NumberFormat;
import java.util.Scanner;
public class Main0145 {
	public static void main(String[] args) {
		new Main0145();
	}
	public Main0145() {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		long[] l = new long[N];
		for(int i=0;i<N;i++)
			l[i] = sc.nextLong();
		long K = sc.nextLong();
		solve(N, l, K);
	}
	private void solve(int n, long[] l, long k) {
		double res = 0;
		double low = 0;
		double high = Integer.MAX_VALUE;
		
		for(int i=0;i<200;i++){
			long count = 0;
			double mid = (high+low)/2;
			
			for(long s: l){
				count += s/mid;
			}
//			System.out.println(count + " " + mid);
			if(count>=k){
				low = mid;
				res = mid;
			}else{
				high = mid;
			}
		}
		NumberFormat format = NumberFormat.getInstance();
		format.setGroupingUsed(false);
		format.setMaximumFractionDigits(11);
		
		System.out.println(format.format(res));
	}
}
            
            
            
        