Submission #637912

#TimeUsernameProblemLanguageResultExecution timeMemory
637912ojoConmigoRabbit Carrot (LMIO19_triusis)C++17
14 / 100
282 ms196504 KiB
#include <bits/stdc++.h> using namespace std; int n,m; vector<int> v; vector<vector<int>> dp; int f(int i,int pos){ if(i == n){ return 0; } if(dp[i][pos] != -1)return dp[i][pos]; if(v[i] > pos+m){ dp[i][pos] = f(i+1,pos+m) + 1; }else if(v[i] < pos+m){ dp[i][pos] = min(f(i+1,v[i]),f(i+1,pos+m)+1); }else{ dp[i][pos] = f(i+1,v[i]); } return dp[i][pos]; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n >> m; v.resize(n); for(int i=0; i<n; i++){ cin >> v[i]; } /* int pos = 0; int cont = 0; for(int i=0; i<n; i++){ if(v[i] > pos+m){ cont++; pos+=m; }else pos = v[i]; } cout << cont << endl; */ dp.assign(n,vector<int> (10000,-1)); cout << f(0,0) << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...