Pagini recente » Cod sursa (job #319675) | Cod sursa (job #2713729) | Cod sursa (job #2329396) | Cod sursa (job #2294929) | Cod sursa (job #638126)
Cod sursa(job #638126)
#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;
}