제출 #853377

#제출 시각아이디문제언어결과실행 시간메모리
853377abcvuitunggio비스킷 담기 (IOI20_biscuits)C++17
100 / 100
31 ms968 KiB
#include "biscuits.h" #define int long long int dp[60][60],v[60]; 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]%(1LL<<i)<v[j]%(1LL<<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){ std::fill(v,v+60,0); for (int i=0;i<a.size();i++) v[i]=(a[i]<<i); for (int i=1;i<60;i++) v[i]+=v[i-1]; for (int i=0;i<60;i++) v[i]=std::min(v[i]/x,(1LL<<(i+1))-1); for (int i=0;i<60;i++) for (int j=0;j<60;j++) dp[i][j]=-1; return f(59,59); }

컴파일 시 표준 에러 (stderr) 메시지

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:16: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]
   16 |     for (int i=0;i<a.size();i++)
      |                  ~^~~~~~~~~
#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...