Cod sursa(job #638126)

Utilizator informatician28Andrei Dinu informatician28 Data 20 noiembrie 2011 19:01:42
Problema Zombie Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.74 kb
#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; 
}