제출 #307902

#제출 시각아이디문제언어결과실행 시간메모리
307902Vimmer비스킷 담기 (IOI20_biscuits)C++14
9 / 100
1088 ms396 KiB
#include <bits/stdc++.h> #include "biscuits.h" //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #define N 100005 #define PB push_back #define sz(x) int(x.size()) #define F first #define M ll(1e9 + 7) #define S second #define all(x) x.begin(), x.end() #define endl '\n' //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") //#pragma GCC optimize("Ofast") //#pragma GCC optimize("fast-math") //#pragma GCC optimize("no-stack-protector") using namespace std; //using namespace __gnu_pbds; typedef long long ll; typedef unsigned long long ull; //typedef tree <int, null_type, less_equal <int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; ll count_tastiness(ll x, vector<ll> a) { ll ans = 1; ll sum = 0; int n = 30; for (int i = 0; i < n; i++) {if (sz(a) == i) a.PB(0); sum += (1 << i) * a[i];} for (ll cur = sum; cur >= 1; cur--) { bool gd = 1; ll b[30]; for (int i = 0; i < 30; i++) b[i] = a[i]; for (int j = 30 - 1; j >= 0; j--) if ((1 << j) & cur) { ll need = x; int u = j; while (u >= 0 && need > 0) { ll mn = min(need, b[u]); b[u] -= mn; need -= mn; u--; need *= 2; } if (need != 0) {gd = 0; break;} } if (gd) ans++; } return ans; } //int main() //{ // iostream::sync_with_stdio(0); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // // // freopen("1.in", "r", stdin); //freopen("fcolor.out", "w", stdout); // //}
#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...