結果
問題 | No.5 数字のブロック |
ユーザー |
|
提出日時 | 2021-11-14 21:01:48 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 2,312 bytes |
コンパイル時間 | 1,055 ms |
コンパイル使用メモリ | 100,844 KB |
最終ジャッジ日時 | 2025-01-25 17:54:27 |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
ソースコード
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <map> #include <unordered_map> #include <set> #include <unordered_set> #include <queue> using namespace std; using ll = long long; namespace cpio{ //IO library for Competitive-Programming struct scanner { private: struct reader { template <typename T> operator T() const {T buf; std::cin >> buf; return buf;} }; public: scanner() {std::cin.sync_with_stdio(false); std::cin.tie(nullptr);} reader operator()() const {return reader();} }; void yes(){ cout << "Yes\n"; } void no(){ cout << "No\n"; } } namespace cpmath{ //Math library for Competitive-Programming ll factorial(ll a, ll b = -1, const ll fmod = -1){ ll ans = 1; if (fmod > 1) { if (b == -1) for (ll i = a; i > 1; i--) ans = ((ans%fmod)*(i%fmod))%fmod; else for (ll i = a; i >= b; i--) ans = ((ans%fmod)*(i%fmod))%fmod; } else{ if (b == -1) for (ll i = a; i > 1; i--) ans = ans*i; else for(ll i = a; i >= b; i--) ans = ans*i; } return ans; } ll fastpow(ll m, ll p){ if (p == 0) return 1; if (p%2 == 0){ ll t = fastpow(m, p/2); return t*t; } return m*fastpow(m, p-1); } ll modpow(ll m, ll p, const ll fmod){ if (p == 0) return 1; if (p%2 == 0){ ll t = modpow(m, p/2, fmod); return (t*t)%fmod; } return (m*modpow(m, p-1, fmod))%fmod; } const ll mod97 = 1000000007; const ll mod99 = 1000000009; const ll mod89 = 998244353; } cpio::scanner in; //Declaration of inputclass using cpio::yes; using cpio::no; using cpmath::mod89; using cpmath::mod97; using cpmath::mod99; int main(){ int l = in(); int n = in(); vector<ll> w(n); for (auto &x:w) cin >> x; sort(w.begin(), w.end()); ll boxsum = 0; for (int i = 0; i < n; i++){ boxsum += w[i]; if (boxsum > l){ cout << i << endl; return 0; } else if (boxsum == l){ cout << i+1 << endl; return 0; } } cout << n << endl; }