Submission #473234

#TimeUsernameProblemLanguageResultExecution timeMemory
473234Ahmed_SolymanSan (COCI17_san)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,k; ll dp[45][45]; vector<ll>a(45),b(45); ll solve(ll i,ll prev,ll sum){ if(i==n)return 0; ll &ret=dp[i][prev][sum]; if(~ret)return ret; ll Take=0; ll notTake=solve(i+1,prev,sum); if(a[i]>=a[prev]){ Take=solve(i+1,i,sum+b[i])+(sum+b[i]>=k); } return ret=Take+notTake; } int main() { memset(dp,-1,sizeof(dp)); cin>>n>>k; for(ll i=0;i<n;i++)cin>>a[i]>>b[i]; if(n<=20){ ll ans=0; for(ll mask=0;mask<(1<<n);mask++){ ll sum=0,prev=44; for(ll i=0;i<n;i++){ if((1<<i)&mask){ if(a[i]>=a[prev]){ sum+=b[i]; } else{ sum=-1; break; } prev=i; } } if(sum>=k)ans++; } cout<<ans<<endl; } else{ cout<<solve(0,44,0)<<endl; } return 0; }

Compilation message (stderr)

san.cpp: In function 'll solve(ll, ll, ll)':
san.cpp:13:24: error: invalid types 'll {aka long long int}[ll {aka long long int}]' for array subscript
   13 |     ll &ret=dp[i][prev][sum];
      |                        ^