CSES - Datatähti 2020 alku - Results
Submission details
Task:Mastot
Sender:Tume7
Submission time:2019-10-12 04:36:02 +0300
Language:C++ (C++17)
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'long long int FindMinimumCost(long long int, long int*, long long int, long long int*, long long int*)':
input/code.cpp:22:61: error: no matching function for call to 'min(int&, long long int)'
                                             n, kantamat, dp));
                                                             ^
In file included from /usr/include/c++/7/bits/specfun.h:45:0,
                 from /usr/include/c++/7/cmath:1914,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41,
                 from input/code.cpp:1:
/usr/include/c++/7/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
input/code.cpp:22:61: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')...

Code

#include <bits/stdc++.h>
using namespace std;
long long FindMinimumCost(long long ind, long hinnat[],
long long n, long long kantamat[], long long dp[])
{
if (ind == n)
return 0;
else if (dp[ind] != -1)
return dp[ind];
else {
int ans = INT_MAX;
for (long long i = 1; i <= kantamat[ind]; i++) {
if (ind + i <= n)
ans = min(ans, hinnat[ind+i]
+ FindMinimumCost(ind + i, hinnat,
n, kantamat, dp));
else
break;
}
return dp[ind] = ans;
}
}
int main()
{
long long kantamat[200001];
long long hinnat[200001];
long long n;
cin >> n;
for(long long i=0; i<n; i++){
cin>>kantamat[i];
}
for(long long i=1; i<n; i++){
cin>>hinnat[i];
}
hinnat[0] = 0;
hinnat[n] = 0;
kantamat[n] = 1;
long long dp[n];
memset(dp, -1, sizeof dp);
cout << FindMinimumCost(0, hinnat, n, kantamat, dp)<<"\n";
/*
for(int i=0; i<=n; i++){
cout<<dp[i]<< " ";
}
cout<<"\n";*/
return 0;
}