Submission #438609

#TimeUsernameProblemLanguageResultExecution timeMemory
438609HaidaraKnapsack (NOI18_knapsack)C++17
Compilation error
0 ms0 KiB
    #include<bits/stdc++.h>
    #define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    #define int long long
    #define rep(i,x,n) for(int i=x;i<n;i++)
    #define FOR(i,n) rep(i,0,n)
    using namespace std;
    int s,n,v[100001],w[100001],k[100001],dp[100001][2001];
    int solve(int inx=0,int curr=0)
    {
        if(dp[inx][curr])
            return dp[inx][curr];
        if(inx==n)
            return 0;
        FOR(i,k[inx]+1)
        {
            if(curr+i*w[inx]<=s)
                dp[inx][curr]=max(dp[inx][curr],solve(inx+1,curr+i*w[inx])+i*v[inx]);
            else
                break;
        }
        return dp[inx][curr];
    }
    signed main()
    {
      scanf("%d",&s);
      scanf("%d",&n);
        FOR(i,n)
        {
          scanf("%d",&(v+i));
          scanf("%d",&(w+i));
          scanf("%d",&(k+i));
            k[i]=min(k[i],s/w[i]);
        }
        cout<<solve();
    }

Compilation message (stderr)

knapsack.cpp: In function 'int main()':
knapsack.cpp:25:15: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long long int*' [-Wformat=]
   25 |       scanf("%d",&s);
      |              ~^  ~~
      |               |  |
      |               |  long long int*
      |               int*
      |              %lld
knapsack.cpp:26:15: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long long int*' [-Wformat=]
   26 |       scanf("%d",&n);
      |              ~^  ~~
      |               |  |
      |               |  long long int*
      |               int*
      |              %lld
knapsack.cpp:29:25: error: lvalue required as unary '&' operand
   29 |           scanf("%d",&(v+i));
      |                       ~~^~~
knapsack.cpp:30:25: error: lvalue required as unary '&' operand
   30 |           scanf("%d",&(w+i));
      |                       ~~^~~
knapsack.cpp:31:25: error: lvalue required as unary '&' operand
   31 |           scanf("%d",&(k+i));
      |                       ~~^~~
knapsack.cpp:25:12: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |       scanf("%d",&s);
      |       ~~~~~^~~~~~~~~
knapsack.cpp:26:12: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |       scanf("%d",&n);
      |       ~~~~~^~~~~~~~~