제출 #303728

#제출 시각아이디문제언어결과실행 시간메모리
303728ludo비스킷 담기 (IOI20_biscuits)C++14
21 / 100
1093 ms36984 KiB
#include<bits/stdc++.h>
#include "biscuits.h"
using namespace std;

typedef long long ll;

map< pair<int,ll>, ll> dp;
ll rec(ll x, const vector<ll> &a, int idx, ll extra) {
	if (idx >= a.size())
		return extra/x + 1;

	if (dp.find( pair<int,ll>(idx, extra) ) != dp.end())
		return dp[ pair<int,ll>(idx, extra) ];

	ll avail = extra + a[idx];
	return dp[ pair<int,ll>(idx, extra) ] =
		(avail >= x ? rec(x, a, idx+1, (avail-x)/2) : 0)
		+ rec(x, a, idx+1, avail/2);
}

ll count_tastiness(ll x, vector<ll> a) {
	dp.clear();
	return rec(x, a, 0, 0);
}

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

biscuits.cpp: In function 'll rec(ll, const std::vector<long long int>&, int, ll)':
biscuits.cpp:9:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |  if (idx >= a.size())
      |      ~~~~^~~~~~~~~~~
#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...