Cod sursa(job #1501113)
Utilizator | Data | 12 octombrie 2015 23:51:24 | |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <fstream>
#include <algorithm>
using namespace std;
#define maxn
int d,n,k,p1;
int v[1000010], dp[1000010];
ifstream fin("zombie.in");
ofstream fout("zombie.out");
int main()
{
fin>>d>>n>>k;
p1=1;
for(int i=1; i<=n; ++i)
{
fin>>v[i];
while(v[i]-v[p1]>=d)
++p1;
dp[i]=min(dp[i-1]+1, dp[p1-1]+k);
}
fout<<dp[n];
}