Pagini recente » Cod sursa (job #29478) | Cod sursa (job #1326090) | Cod sursa (job #2582269) | Cod sursa (job #1163241) | Cod sursa (job #638293)
Cod sursa(job #638293)
Utilizator |
roots1 roots |
Data |
20 noiembrie 2011 20:05:05 |
Problema |
Zombie |
Scor |
100 |
Compilator |
cpp |
Status |
done |
Runda |
.com 2011 |
Marime |
0.7 kb |
#include <fstream>
using namespace std;
ifstream in;
ofstream out;
int v[1000010];
int main()
{
int D,N,K;
in.open("zombie.in");
in>>D>>N>>K;
for(int i=1;i<=N;++i) in>>v[i];
in.close();
int sol=0;
out.open("zombie.out");
if(K>D) out<<N<<'\n';
else
{
for(int i=1;i<=N;)
{
int j=i+K-1;
int ok=0;
while(v[j]-v[i]<=D&&j<=N) ++j,ok=1;
if(ok&&v[j]-v[i]>D) --j;
if(v[j]-v[i]<=D)
{
i=j+1;
sol+=K;
}
else
{
++i;
++sol;
}
}
out<<sol<<'\n';
}
out.close();
return 0;
}