Submission #1075084

#TimeUsernameProblemLanguageResultExecution timeMemory
1075084allin27xPacking Biscuits (IOI20_biscuits)C++17
0 / 100
3 ms360 KiB
#include <bits/stdc++.h> using namespace std; #include "biscuits.h" #define int long long long long count_tastiness(long long x, std::vector<long long> a) { a.resize(a.size()+65, 0); int extra = 0; for (int i=0; i<a.size(); i++) { extra/=2; a[i] += extra; if (a[i]&1) { extra = a[i] - 1; a[i] = 1; } else { if (!a[i]) continue; extra = a[i] - 2; a[i] = 2; } } int n = a.size(); vector dp(n, vector<int> {0,0}); dp[n-1][0]=1; dp[n-1][1] = 2; int ans = 1; int s = 0; int st = 0; for (int i=0; i<n; i++) { if (!a[i]) { st = 0; ans *= s+1; s = 0; } else { s += a[i] * (1<<st); st++; } } return ans; }

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:9:17: 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]
    9 |  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...