/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 320.0 KiB
#2 Accepted 1ms 364.0 KiB
#3 Accepted 1ms 320.0 KiB
#4 Accepted 1ms 532.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 324.0 KiB
#7 Accepted 1ms 532.0 KiB
#8 Accepted 1ms 532.0 KiB
#9 Accepted 1ms 476.0 KiB
#10 Accepted 1ms 316.0 KiB
#11 Accepted 1ms 532.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<"  "<<b<<"  "<<c<<"  "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi  2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 1e4 + 3, mod = 1e9 + 7;

int32_t main()
{

    //fast
    int x, n;
    int ar[3];
    cin >> x;
    for(int i = 0; i < 3; i++)cin >> ar[i];
    cin >> n;
    if(x > n)KILL("NO");
    if(x == n)
    {
        cout << "YES" << endl << 0 << endl;
        return 0;
    }
    n -= x;
    int dp[n + 1];
    for(int i = 1; i <= n; i++)dp[i] = 1e9;
    dp[0] = 0;

    for(int i = 0; i < 3; i++)
    {
        for(int j = ar[i]; j <= n; j++)dp[j] = min(dp[j], 1 + dp[j - ar[i]]);
    }
    if(dp[n] == 1e9)KILL("NO");
    cout <<"YES" << endl;
    cout << dp[n] << endl;
}

Information

Submit By
Type
Submission
Problem
P1028 Magical box and spell
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-08 09:52:30
Judged At
2024-11-11 02:22:47
Judged By
Score
100
Total Time
1ms
Peak Memory
532.0 KiB