Cod sursa(job #639037)
Utilizator | Mihail Burduja warchildmd | Data | 22 noiembrie 2011 10:47:04 |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.04 kb |
#include <cstdio>
int N, D, K;
int main()
{
freopen("zombie.in", "r", stdin);
freopen("zombie.out", "w", stdout);
scanf("%d %d %d", &D, &N, &K);
int total = 0;
int x;
int closest;
int CURRENT;
int onstack = 0;
for(int i = 0; i < N; i++)
{
scanf("%d", &x);
if (onstack == 0)
{
onstack++;
closest = x;
}
else
{
if(x-closest > D)
{
if(onstack > K)
{
total += K;
}
else
{
total += onstack;
}
onstack = 1;
closest = x;
}
else
{
onstack++;
}
}
}
if(onstack > 0)
{
if(onstack > K)
{
total += K;
}
else
{
total += onstack;
}
}
printf("%d", total);
}