結果
問題 |
No.5 数字のブロック
|
ユーザー |
![]() |
提出日時 | 2017-04-09 09:05:50 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,052 bytes |
コンパイル時間 | 452 ms |
コンパイル使用メモリ | 62,352 KB |
実行使用メモリ | 814,464 KB |
最終ジャッジ日時 | 2024-07-18 01:21:59 |
合計ジャッジ時間 | 2,397 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 1 MLE * 1 -- * 32 |
ソースコード
#include <iostream> #include <vector> int med3(int x, int y, int z){ if(x<y){ if(y<z){ return y; } else if (z < x){ return x; } else{ return z; } } else{ if(x<z){ return x; } else if(z < y){ return y; } else { return z; } } } void quicksort(std::vector<int> a,int left, int right){ if(left < right){ int i = left; int j = right; int tmp = left; int pivot = med3(a[i], a[i + (j - i)/2], a[j]); while(true){ while(a[i] < pivot){ i++; } while(pivot<a[j]){ j--; } if(i > j) break; tmp = a[i]; a[i] = a[j]; a[j] = tmp; i++; j--; } quicksort(a, left, i - 1); quicksort(a, j + 1, right); } } int main(void){ int W; int N; std::cin >> W; std::cin >> N; std::vector<int> w; int tt = 0; for(int i=0; i<N; i++){ std::cin >> tt; w.push_back (tt); } quicksort(w, 0, N - 1); int sum=0; int i = 0; while(true){ sum += w[i]; if(sum > W){ std::cout << i; break; } i++; if(i = N){ std::cout << i; break; } } return 0; }