Cod sursa(job #2223730)
Utilizator | Balanici Andrei Daniel AndreiDelta | Data | 21 iulie 2018 12:46:51 |
---|---|---|---|
Problema | Zombie | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
#define Dim 1000001
#define Max 1000000012
using namespace std;
ifstream f("zombie.in");
ofstream g("zombie.out");
long long D,N,K,T[Dim];
long long Cost[Dim];
int main()
{
f>>D>>N>>K;
for(int i=1;i<=N;i++) f>>T[i],Cost[i]=Max;
for(int i=1;i<=N;i++)
{
long long iter=i-1,busy=1;
while(T[i]-T[iter]+1<=D&&iter>0)
iter--,busy++;
Cost[i]=min(Cost[i],K+Cost[iter]);
Cost[i]=min(Cost[i],busy+Cost[iter]);
}
g<<Cost[N];
return 0;
}