Submission #497632

#TimeUsernameProblemLanguageResultExecution timeMemory
497632Hanksburger비스킷 담기 (IOI20_biscuits)C++17
21 / 100
188 ms368 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; vector<long long> B; long long pow2[65]; long long count_tastiness(long long X, vector<long long> A) { pow2[0]=1; for (long long i=1; i<=62; i++) pow2[i]=pow2[i-1]*2; long long N=A.size(), sum=0; for (long long i=0; i<A.size(); i++) sum+=pow2[i]*A[i]; if (sum<=100000) { long long cnt=1; for (long long i=1; i<=sum/X; i++) { B=A; bool ok=1; for (long long j=0; j<X; j++) { long long cur=i; for (long long k=N-1; k>=0; k--) { long long num=min(B[k], cur/pow2[k]); B[k]-=num; cur-=pow2[k]*num; if (!cur) break; } if (cur) { ok=0; break; } } if (ok) cnt++; } return cnt; } else if (X==1) { long long P=1, Q=1, R=0; for (long long i=0; i<N; i++) { Q+=A[i]; if (Q&1) R+=P; Q/=2; if (Q==0) { Q=1; P=R; R=0; } else P*=2; } return P*Q+R; } }

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:12: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]
   12 |  for (long long i=0; i<A.size(); i++)
      |                      ~^~~~~~~~~
biscuits.cpp:63:1: warning: control reaches end of non-void function [-Wreturn-type]
   63 | }
      | ^
#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...