Cod sursa(job #736422)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 18 aprilie 2012 16:40:41
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb

#include <fstream>

const unsigned int SIZE(1000000);

unsigned int v [SIZE];

int main (void)
{
    unsigned int d,n,k;
    std::ifstream input("zombie.in");
    input >> d >> n >> k;
    unsigned int *it(v),*limit(v + n);
    do
    {
        input >> *it;
        ++it;
    }
    while (it < limit);
    input.close();
    --limit;
    unsigned int t(0),chakra(0),*aux;
    it = v;
    do
    {
        t += it[1] - *it;
        if (t < d)
        {
            aux = it;
            while (t < d && it < limit)
            {
                ++it;
                t += it[1] - *it;
            }
            --it;
            t = 0;
            if (it - aux > k)
		chakra += k;
            else
                chakra += it - aux;
        }
        else
        {
            t = 0;
            ++chakra;
        }
        ++it;
    }
    while (it < limit);
    std::ofstream output("zombie.out");
    output << chakra << '\n';
    output.close();
    return 0;
}