Cod sursa(job #2773498)
Utilizator | Data | 7 septembrie 2021 11:49:31 | |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
int v[1000001],dp[1000001],st[1000001];
int main()
{
ifstream cin("zombie.in");
ofstream cout("zombie.out");
int d,n,k,i,aux=0;
cin>>d>>n>>k;
aux=0;
for(i=0; i<n; i++)
{
cin>>v[i];
while(v[aux]+d-1<=v[i])
aux++;
st[i]=aux;
}
dp[0]=1;
for(i=1;i<n;i++)
dp[i]=min(dp[i-1]+1,dp[st[i]-1]+k);
cout<<dp[n-1];
return 0;
}