Cod sursa(job #637541)

Utilizator informatician28Andrei Dinu informatician28 Data 20 noiembrie 2011 15:06:57
Problema Zombie Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.7 kb
#include<fstream> 
using namespace std; 
ifstream in("zombie.in");
ofstream out("zombie.out");
const int MAX=10002;
int main() 
{long long d,n,k,v[MAX],i,cost=0,suma=0,contor=0;
	in>>d>>n>>k; 
	for(i=1;i<=n;i++) 
		in>>v[i];
	
	for(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; 
}