結果
問題 |
No.2329 Nafmo、イカサマをする
|
ユーザー |
👑 ![]() |
提出日時 | 2023-05-28 16:36:50 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 605 ms / 2,000 ms |
コード長 | 761 bytes |
コンパイル時間 | 2,099 ms |
コンパイル使用メモリ | 196,472 KB |
最終ジャッジ日時 | 2025-02-13 15:19:38 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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; swap(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,int u)->void{ if(K<v) return; if(ind==u||c==M){ chmax(ans,v); return; } for(ll i=0;i<=M-c;i++){ self(self,v+i*A[ind],c+i,ind+1,u); } }; f(f,0,0,0,N); cout<<ans<<"\n"; }