Pagini recente » Cod sursa (job #339895) | Cod sursa (job #3204794) | Cod sursa (job #1242812) | Cod sursa (job #253585) | Cod sursa (job #3137609)
#include <fstream>
#include <queue>
using namespace std;
ifstream cin ("zombie.in");
ofstream cout ("zombie.out");
queue <int> strada;
int main ()
{
int distanta , lungime , cost;
cin >> distanta >> lungime >> cost;
long long cost_total = 0;
for (int indice = 1 , aparitie ; indice <= lungime ; indice++)
{
cin >> aparitie;
if (!strada.empty() && aparitie - strada.front() > distanta)
{
if ((int)strada.size() > cost) {
while (!strada.empty())
strada.pop();
cost_total += cost;
}
else while (!strada.empty() && aparitie - strada.front() > distanta)
cost_total++ , strada.pop();
}
strada.push(aparitie);
}
if ((int)strada.size() > cost)
cost_total += cost;
else
cost_total += strada.size();
cout << cost_total;
cout.close(); cin.close();
return 0;
}