Pagini recente » Cod sursa (job #2760919) | Cod sursa (job #1426876) | Cod sursa (job #1137162) | Cod sursa (job #420532) | Cod sursa (job #2595914)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f ( "zombie.in" );
ofstream g ( "zombie.out" );
deque <int>Q;
int main()
{
int D, N, K, sol = 0, nr;
f >> D >> N >> K;
f >> nr;
Q.push_back ( nr );
for ( int i = 1; i <= N; i++ )
{
f >> nr;
if ( nr - Q.back() >= D )
{
int lg = Q.size();
if ( lg >= K )
{
sol += K;
while ( !Q.empty() )
Q.pop_back();
}
else
{
while ( nr - Q.back() >= D && !Q.empty() )
{
sol++;
Q.pop_back();
}
Q.push_front ( nr );
}
}
else Q.push_front ( nr );
}
int lg = Q.size();
if ( lg >= K )
sol += K;
else sol += lg;
g << sol;
return 0;
}