Cod sursa(job #2012739)
Utilizator | Ionut Anghelina ionanghelina | Data | 19 august 2017 14:35:27 |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<bits/stdc++.h>
#define maxN 1000005
#define INF 0x3f3f3f3f
using namespace std;
int n,k,d,ind;
int v[maxN],dp[maxN];
int main()
{
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
scanf("%d%d%d",&d,&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
sort(v+1,v+n+1);
dp[0]=0;
for(int i=1;i<=n;i++) dp[i]=INF;
ind=0;
for(int i=1;i<=n;i++)
{
while(v[i]-v[ind]>=(d-1)) ind++;
dp[i]=min(dp[i-1]+1,dp[ind-1]+k);
}
printf("%d\n",dp[n]);
return 0;
}