Cod sursa(job #2038291)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 13 octombrie 2017 16:12:02
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <bits/stdc++.h>

int v[1000000], next;
int main(){
    FILE*fi,*fo;
    fi = fopen("zombie.in","r");
    fo = fopen("zombie.out","w");

    int d, k, n;
    fscanf(fi,"%d%d%d", &d, &n, &k);
    next = 0;
    int p = 0;
    int sum = 0;
    for(int i = 1; i <= n; i++){
        int t;
        fscanf(fi,"%d", &t);
        if(next == p){
            v[next++] = t;
            //printf("1 ");
        }
        else{
            if(t - v[p] <= d - 1){
                v[next++] = t;
                //printf("2 ");
            }
            else{
                if(next - p < k){
                    p++;
                    sum++;
                    //printf("3 ");
                }
                else{
                    p = 0;
                    next = 0;
                    sum += k;
                    //printf("4 ");
                }
                v[next++] = t;
            }
        }
    }
    if(next - p < k)
        sum += next - p;
    else
        sum += k;
    fprintf(fo,"%d", sum);

    fclose(fi);
    fclose(fo);
    return 0;
}