結果

問題 No.67 よくある棒を切る問題 (1)
ユーザー Twizz
提出日時 2017-05-19 23:18:09
言語 C++11
(gcc 4.8.5)
結果
WA  
実行時間 -
コード長 624 Byte
コンパイル時間 1,557 ms
使用メモリ 3,100 KB
最終ジャッジ日時 2017-05-19 23:18:17

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
bow001.txt WA -
bow002.txt WA -
bow003.txt AC 190 ms
3,096 KB
bow004.txt WA -
bow005.txt WA -
bow006.txt AC 226 ms
3,100 KB
bow007.txt WA -
bow008.txt WA -
bow009.txt AC 173 ms
2,892 KB
bow010.txt WA -
bow011.txt WA -
bow012.txt AC 193 ms
2,868 KB
bow013.txt AC 192 ms
3,096 KB
bow014.txt AC 193 ms
3,100 KB
bow015.txt AC 192 ms
3,096 KB
bow016.txt AC 218 ms
3,096 KB
bow017.txt AC 217 ms
3,100 KB
bow018.txt AC 218 ms
3,096 KB
bow019.txt AC 175 ms
2,948 KB
bow020.txt AC 185 ms
3,028 KB
challenge01.txt AC 3 ms
1,536 KB
system_test1.txt WA -
system_test2.txt WA -
system_test3.txt AC 4 ms
1,544 KB
system_test4.txt WA -
system_test5.txt WA -
system_test6.txt WA -
テストケース一括ダウンロード

ソースコード

diff #
#include"bits/stdc++.h"

//#include<bits/stdc++.h>
using namespace std;
#define print(x) cout<<x<<endl;
#define rep(i,a,b) for(int i=a;i<b;i++)
#define REP(i,a) for(int i=0;i<a;i++)
typedef long long ll;
const ll mod = 10000000000;

int n, k;
double l[200002];

bool check(double mid) {
	int count = 0;
	REP(i, n) {
		count += (int)(l[i] / mid);
	}
	if (count >= k)return 1;
	else { return 0; }
}

int main() {
	cin >> n;
	REP(i, n) { cin >> l[i]; }
	cin >> k;
	double lb =0, ub = mod;
	REP(i,100) {
		double mid = (lb + ub) / 2.0;
		if (check(mid)) { lb = mid; }
		else { ub = mid; }
	}
	printf("%.14f\n", ub);
	return 0;
}
0