Submission #1022078

#TimeUsernameProblemLanguageResultExecution timeMemory
1022078JakobZorzPacking Biscuits (IOI20_biscuits)C++17
42 / 100
1028 ms65892 KiB
#include"biscuits.h"
#include<unordered_map>
typedef long long ll;
using namespace std;

ll x;
ll coins[120];
unordered_map<ll,ll>dp[120];

ll count(int i,ll num){
    if(i==120)
        return 1;
    if(dp[i].count(num))
        return dp[i][num];
    ll res=0;
    if(num>=x){
        res+=count(i+1,coins[i+1]+(num-x)/2);
    }
    res+=count(i+1,coins[i+1]+num/2);
    dp[i][num]=res;
    return res;
}

ll count_tastiness(ll X,vector<ll>a){
    x=X;
    for(int i=0;i<120;i++){
        coins[i]=0;
        dp[i].clear();
    }
    for(int i=0;i<(int)a.size();i++)
        coins[i]=a[i];
	return count(0,coins[0]);
}

Compilation message (stderr)

biscuits.cpp: In function 'll count_tastiness(ll, std::vector<long long int>)':
biscuits.cpp:30:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   30 |     for(int i=0;i<(int)a.size();i++)
      |     ^~~
biscuits.cpp:32:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   32 |  return count(0,coins[0]);
      |  ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...