Submission #853368

#TimeUsernameProblemLanguageResultExecution timeMemory
853368abcvuitunggioPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1 ms604 KiB
#include "biscuits.h" #define int long long int dp[60][60]; std::vector <int> v; int f(int i, int j){ if (i<0) return 1; if (dp[i][j]!=-1) return dp[i][j]; dp[i][j]=f(i-1,(i&&v[i-1]%(1<<i)<v[j]%(1<<i)?i-1:j)); if ((v[j]>>i)&1) dp[i][j]+=f(i-1,i-1); return dp[i][j]; } int count_tastiness(int x, std::vector <int> a){ v.clear(); for (int i=0;i<a.size();i++) v.push_back((v.empty()?0:v.back())+(a[i]<<i)); for (auto &i:v) i/=x; for (int i=0;i<a.size();i++) for (int j=0;j<a.size();j++) dp[i][j]=-1; return f(a.size()-1,a.size()-1); }

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:17:19: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for (int i=0;i<a.size();i++)
      |                  ~^~~~~~~~~
biscuits.cpp:21:19: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |     for (int i=0;i<a.size();i++)
      |                  ~^~~~~~~~~
biscuits.cpp:22:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for (int j=0;j<a.size();j++)
      |                      ~^~~~~~~~~
#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...