제출 #1302223

#제출 시각아이디문제언어결과실행 시간메모리
1302223sano비스킷 담기 (IOI20_biscuits)C++20
0 / 100
1094 ms920 KiB
#include "biscuits.h" #include <iostream> #include <queue> #include <unordered_map> #include <map> #define ll long long #define vec vector #define For(i, n) for(ll i = 0; i < n; i++) #define pii pair<int, int> using namespace std; long long count_tastiness(long long x, vector<long long> a) { ll n = a.size(); ll vys = 0; queue<pii> q; q.push({0, 0}); map<pii, ll> umap; umap[{0, 0}] = 1; while(!q.empty()){ ll i = q.front().first, j = q.front().second; q.pop(); cerr << i << ' ' << j << endl; ll hod = umap[{i, j}]; if(i == n){ vys += hod * ((j/x) + 1); continue; } for(ll k = 0; k*x <= j; k++){ if(k == 0) cerr << k << ' ' << x << ' ' << j << endl; ll nj = (j - (k*x)) / 2; nj += a[i]; auto pp = umap.find({i+1, nj}); if(pp == umap.end()){ q.push({i+1, nj}); } umap[{i+1, nj}] += hod; } } return vys; }
#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...