Cod sursa(job #2913240)

Utilizator andiRTanasescu Andrei-Rares andiR Data 13 iulie 2022 14:22:54
Problema Zombie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <queue>

using namespace std;
ifstream fin ("zombie.in");
ofstream fout ("zombie.out");
int D,N,K,i,ztmp,chakra;
queue<int> q;
int main()
{
    fin>>D>>N>>K;
    if (K>=D)
        fout<<N;
    else{
        fin>>ztmp;
        q.push(ztmp);
        for (i=1;i<N;i++){
            fin>>ztmp;
            if (ztmp-q.front()>=D){
                if (q.size()>K){
                    chakra+=K;
                    while(!q.empty())
                        q.pop();
                }
                else{
                    while(!q.empty() && ztmp-q.front()>=D){
                        chakra++;
                        q.pop();
                    }
                }
            }
            q.push(ztmp);
            //cout<<chakra<<' ';
        }
        if (q.size()<K)
            chakra+=q.size();
        else chakra+=K;
        fout<<chakra;
    }
    return 0;
}