Pagini recente » Cod sursa (job #2390145) | Cod sursa (job #2822968) | Cod sursa (job #2593428) | Cod sursa (job #425948) | Cod sursa (job #1300764)
#include<stdio.h>
#include<queue>
using namespace std;
deque<int> q;
int sol,d,k,x,elem,i,n;
int main()
{
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
scanf("%d%d%d",&n,&d,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(q.empty()==false)
elem=q.front();
else elem=-1;
if(elem==-1)
q.push_back(x);
else
{
if(x-elem<=d)
q.push_back(x);
else
{
if(q.size()>=k)
{
sol++;
q.clear();
q.push_back(x);
}
else
{
while(q.empty()==false&&x-q.front()<=d)
{
sol++;
q.pop_front();
}
q.push_back(x);
}
}
}
}
if(q.size()>=k)
sol+=k;
else
sol+=q.size();
printf("%d",sol);
return 0;
}