結果
問題 | No.3014 岩井満足性問題 |
ユーザー |
|
提出日時 | 2025-01-26 12:14:51 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 150 ms / 3,000 ms |
コード長 | 2,053 bytes |
コンパイル時間 | 1,872 ms |
コンパイル使用メモリ | 172,416 KB |
実行使用メモリ | 5,632 KB |
最終ジャッジ日時 | 2025-01-26 12:14:56 |
合計ジャッジ時間 | 3,318 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
# include <bits/stdc++.h># include <atcoder/modint># include <atcoder/segtree># include <atcoder/lazysegtree># include <atcoder/dsu>//# include <regex>using namespace std;typedef long long ll;typedef long double ld;typedef vector<int> vi;typedef vector<vector<int>> vvi;typedef vector<vector<vector<int>>> vvvi;typedef vector<long long> vl;typedef vector<vector<long long>> vvl;typedef vector<vector<vector<long long>>> vvvl;typedef vector<bool> vb;typedef vector<vector<bool>> vvb;typedef vector<vector<vector<bool>>> vvvb;#define rep(i,n) for(int i=0;i<n;i++)#define reps(i,m,n) for(int i=m;i<n;i++)#define repl(i,n) for(ll i=0;i<n;i++)#define repsl(i,m,n) for(ll i=m;i<n;i++)#define repr(i,n) for(int i=n-1;i>=0;i--)#define repsr(i,m,n) for(int i=n-1;i>=m;i--)#define replr(i,n) for(ll i=n-1;i>=0;i--)#define repslr(i,m,n) for(ll i=n-1;i>=m;i--)#define sksort(x) sort(x.begin(), x.end())#define sksortr(x) sort(x.rbegin(), x.rend())#define disp(x) cout << x << endl#define disps(x) cout << x << " "#define dispe cout << endl#define dispv(x) for(ll xqzj=0;xqzj<(ll)x.size();xqzj++){disps(x[xqzj]);}dispe#define dispvv(x) for(ll xqzi=0;xqzi<(ll)x.size();xqzi++){dispv(x[xqzi]);}#define dispy cout << "Yes" << endl#define dispn cout << "No" << endl#define dispyn(x) if(x)dispy;else dispn#define dispd cout << std::setprecision(20)#define inp(x) int x;cin>>x#define inpl(x) ll x;cin>>x#define inps(x) string x;cin>>x#define allv(x) (x).begin(),(x).end()#define allrv(x) (x).rbegin(),(x).rend()#define imax(x,y) x=max(x,y)#define imin(x,y) x=min(x,y)using mint = atcoder::modint998244353;int main(){inp(n);inp(d);inp(k);vl a(n);vi c(n);rep(i,n)cin>>a[i];rep(i,n)cin>>c[i];vvl dp(d+1,vl(k+1,-1000000000000000000));dp[0][0]=0;rep(i,n){repr(j,min(i+1,d+1)){if(j<d)repr(m,k+1){imax(dp[j+1][min(m+c[i],k)],dp[j][m]+a[i]);}}}if(dp[d][k]<-100000000000000000)dispn;else disp(dp[d][k]);}