Pagini recente » Cod sursa (job #2963477) | Cod sursa (job #2676651) | Cod sursa (job #3241438) | Cod sursa (job #2582439) | Cod sursa (job #638143)
Cod sursa(job #638143)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("zombie.in");
ofstream out("zombie.out");
int d,n,k;
int cost=0,suma=0,contor=0;
int main()
{
in>>d>>n>>k;
vector<int>v; v.reserve(n+1);
for(size_t i=1;i<=n;i++)
in>>v[i];
for(size_t i=1;i<=n-1;i++)
{
if((v[i+1]-v[i])>d)
cost++;
else if((v[i+1]-v[i])<=d)
{
if((v[i+1]-v[i]+suma)<=d)
{
suma+=v[i+1]-v[i];
contor++;
}
else if((v[i+1]-v[i]+suma)>d)
{
cost++;
if(contor==1)
{
suma=contor=0;
cost++;
}
else if(contor>1)
{
cost+=k;
suma=contor=0;
}
}
}
}
if(suma!=0)
{
if(contor==1) cost++;
else cost+=k;
}
out<<cost;
}