#include<bits/stdc++.h> using namespace std; int s[200]; int dp[32780]; int main(){ int n,maxv;scanf("%d%d",&maxv,&n); for(int i=1;i<=n;i++){ scanf("%d",&s[i]); } int ans=0; for(int i=1;i<=n;i++){ for(int j=maxv;j>=s[i];j--){ if(dp[j-s[i]]>=1){ dp[j]=max(dp[j-s[i]]+1,dp[j]); } else if(j-s[i]==1){ dp[j]=1; } } } if(dp[maxv]){ printf("YES"); } else{ printf("NO"); } return 0; } /************************************************************** Problem: 1693 User: liangshinan Language: C++ Result: Accepted Time:8 ms Memory:2204 kb ****************************************************************/