# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
90796 | RAkhshon | Bank (IZhO14_bank) | C++14 | 2 ms | 532 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define st string
#define fr first
#define se second
#define INF 1000000000
using namespace std;
ll a[101101], b[101101], dp[101101];
int main()
{
//freopen("1.txt", "r", stdin);
//freopen("division.out", "w", stdout);
ll n, m;
scanf("%lld %lld", &n, &m);
for(ll i = 1; i <= n; i ++){
scanf("%lld", &a[i]);
}
for(ll i = 1; i <= m; i ++){
scanf("%lld", &b[i]);
}
sort(b+1,b+1+m);
ll s = a[1];
for(ll j = 1; j <= m; j ++)
for(ll i = 1; i <= s; i ++){
if(dp[i]==0) dp[i]=INF;
if(i >= b[j] && dp[i]!=INF) {dp[i]=dp[i];}
else
if(i >= b[j] && dp[i-b[j]] == b[j] ) break ;
else
if(i >= b[j] && dp[i-b[j]]!=INF ) dp[i]=b[j];
}
if(dp[s] != INF) printf("YES");
else
printf("NO");
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |