結果
| 問題 | No.67 よくある棒を切る問題 (1) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-12-28 11:04:40 |
| 言語 | C(gnu17) (gcc 15.2.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 487 bytes |
| 記録 | |
| コンパイル時間 | 65 ms |
| コンパイル使用メモリ | 38,528 KB |
| 実行使用メモリ | 5,888 KB |
| 最終ジャッジ日時 | 2026-07-21 18:13:56 |
| 合計ジャッジ時間 | 4,937 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 5 RE * 25 |
コンパイルメッセージ
main.c: In function 'main':
main.c:11:9: warning: implicit declaration of function 'solve' [-Wimplicit-function-declaration]
11 | solve();
| ^~~~~
main.c: At top level:
main.c:25:6: warning: conflicting types for 'solve'; have 'void()'
25 | void solve() {
| ^~~~~
main.c:11:9: note: previous implicit declaration of 'solve' with type 'void()'
11 | solve();
| ^~~~~
ソースコード
#include <stdio.h>
long int K;
unsigned N;
long int L[10000];
int main(){
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%d",&L[i]);
}
scanf("%d",&K);
solve();
}
int C(int x){
int num = 0;
for(int i=0;i<N;i++){
num += (int)(L[i] / x );
}
if(num >= K){
return 1;
}else{
return 0;
}
}
void solve() {
double lb =0;
double ub = 1000;
for(int i =0; i<1000; i++){
double mid = (lb+ub)/2;
if(C(mid) == 1){
lb = mid;
}else{
ub = mid;
}
}
printf("%f\n",lb);
}