結果
問題 | No.68 よくある棒を切る問題 (2) |
ユーザー | ey429 |
提出日時 | 2015-02-28 21:48:09 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 233 ms / 5,000 ms |
コード長 | 787 bytes |
コンパイル時間 | 558 ms |
コンパイル使用メモリ | 59,176 KB |
実行使用メモリ | 6,996 KB |
最終ジャッジ日時 | 2024-06-24 00:29:48 |
合計ジャッジ時間 | 9,200 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 233 ms
6,992 KB |
testcase_01 | AC | 233 ms
6,868 KB |
testcase_02 | AC | 233 ms
6,872 KB |
testcase_03 | AC | 220 ms
6,840 KB |
testcase_04 | AC | 219 ms
6,996 KB |
testcase_05 | AC | 223 ms
6,944 KB |
testcase_06 | AC | 231 ms
6,360 KB |
testcase_07 | AC | 232 ms
6,612 KB |
testcase_08 | AC | 217 ms
6,228 KB |
testcase_09 | AC | 218 ms
6,612 KB |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:18:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 18 | scanf("%d",&n); | ~~~~~^~~~~~~~~ main.cpp:20:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 20 | scanf("%d",&L[i]); | ~~~~~^~~~~~~~~~~~ main.cpp:25:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 25 | scanf("%d",&m); | ~~~~~^~~~~~~~~ main.cpp:28:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 28 | scanf("%d",&q); | ~~~~~^~~~~~~~~ main.cpp:45:34: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized] 45 | ans[qr[i].second]=r; | ~~~~~~~~~~~~~~~~~^~
ソースコード
#include<stdio.h> #include<queue> #include<map> #include<algorithm> using namespace std; typedef pair<double,int> Pf; typedef pair<int,int> P; priority_queue<Pf> que; int L[100000]; int cnt[100000]; P qr[100000]; double ans[100000]; double F(int a,int b){return (double)a/b;} int main(){ int n,i; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&L[i]); cnt[i]=1; que.push(Pf(L[i],i)); } int m; scanf("%d",&m); for(i=0;i<m;i++){ int q; scanf("%d",&q); qr[i]=P(q,i); } sort(qr,qr+m); int s=0; double r; for(i=0;i<m;i++){ int q=qr[i].first; while(s<q){ Pf pr=que.top(); que.pop(); int t=pr.second; r=pr.first; cnt[t]++; que.push(Pf(F(L[t],cnt[t]),t)); s++; } ans[qr[i].second]=r; } for(i=0;i<m;i++)printf("%.12f\n",ans[i]); return 0; }