Pagini recente » Cod sursa (job #373836) | Cod sursa (job #2861529) | Cod sursa (job #376833) | Cod sursa (job #352504) | Cod sursa (job #635424)
Cod sursa(job #635424)
#include<stdio.h>
using namespace std;
int main()
{
FILE *q, *sf,*w;
q=fopen("zombie.in","r");
sf=fopen("zombie.in","r");
w=fopen("zombie.out","w");
int poz,zsfarsit,zinceput,d,n,k,costS=0,luate=0,ps=0,pozi=1;
bool pending=false;
fscanf(q,"%d%d%d",&d,&n,&k);
if(k==d)
{
fprintf(w,"%d",n);
return 0;
}
poz=1;
fscanf(sf,"%d%d%d%d",&d,&n,&k,&zsfarsit);
fscanf(q,"%d",&zinceput);
while(poz<=n)
{
if(zsfarsit-zinceput+1<d)
{if(poz-pozi+1>k)
{
pending=true;
ps=poz;
}}
else{
if(pending)
{
luate=luate+ps-pozi+1;
costS=costS+k;
pending=false;
pozi=poz;
zinceput=zsfarsit;
q=sf;
}
else{
fscanf(q,"%d",&zinceput);
pozi++;}
}
poz++;
if(poz<=n){
fscanf(sf,"%d",&zsfarsit);
}
}
if(pending)
{
luate=luate+ps-pozi+1;
costS=costS+k;
pending=false;
}
fprintf(w,"%d",(costS+n-luate));
return 0;
}