結果
問題 |
No.2329 Nafmo、イカサマをする
|
ユーザー |
👑 ![]() |
提出日時 | 2023-05-28 16:37:57 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 619 ms / 2,000 ms |
コード長 | 736 bytes |
コンパイル時間 | 2,105 ms |
コンパイル使用メモリ | 197,292 KB |
最終ジャッジ日時 | 2025-02-13 15:21:51 |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
/* 定数倍が軽いので(1/720)全列挙で通ります。 類題 https://atcoder.jp/contests/typical90/tasks/typical90_bc */ #include <bits/stdc++.h> using namespace std; using ll=long long; #define rep(i,a,b) for (ll i=a;i<b;i++) template<class T> bool chmax(T &a,const T &b){if(a<b){a=b;return 1;}else return 0;} int main(){ ll N,M,K; cin>>N>>M>>K; vector<ll> A(N); rep(i,0,N){ cin>>A[i]; } ll ans=0; auto f=[&](auto self,ll v,int c,int ind)->void{ if(M<v) return; if(ind==N||c==K){ chmax(ans,v); return; } for(ll i=0;i<=K-c;i++){ self(self,v+i*A[ind],c+i,ind+1); } }; f(f,0,0,0); cout<<ans<<"\n"; }