結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
bow001.txt AC 192 ms
3,104 KB
bow002.txt AC 193 ms
3,100 KB
bow003.txt AC 191 ms
3,104 KB
bow004.txt AC 226 ms
3,104 KB
bow005.txt AC 218 ms
3,100 KB
bow006.txt AC 220 ms
3,100 KB
bow007.txt AC 172 ms
2,952 KB
bow008.txt AC 182 ms
3,028 KB
bow009.txt AC 166 ms
2,892 KB
bow010.txt AC 200 ms
2,976 KB
bow011.txt AC 211 ms
3,028 KB
bow012.txt AC 186 ms
2,876 KB
bow013.txt AC 191 ms
3,100 KB
bow014.txt AC 193 ms
3,100 KB
bow015.txt AC 191 ms
3,100 KB
bow016.txt AC 218 ms
3,104 KB
bow017.txt AC 223 ms
3,104 KB
bow018.txt AC 221 ms
3,100 KB
bow019.txt AC 173 ms
2,952 KB
bow020.txt AC 190 ms
3,032 KB
challenge01.txt AC 4 ms
1,536 KB
system_test1.txt AC 7 ms
1,572 KB
system_test2.txt AC 5 ms
1,552 KB
system_test3.txt AC 4 ms
1,552 KB
system_test4.txt AC 38 ms
1,792 KB
system_test5.txt AC 20 ms
1,668 KB
system_test6.txt AC 8 ms
1,576 KB
テストケース一括ダウンロード

ソースコード

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;

ll n, k;
double l[200002];

bool check(double mid) {
	ll 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