Pagini recente » Cod sursa (job #951162) | Cod sursa (job #991581) | Cod sursa (job #2632678) | Cod sursa (job #1556177) | Cod sursa (job #1113822)
#include<cstdio>
struct branza{
long long p;
long long c;
}v[101000];
long long n,s,t,i,j,d[2][101000],p,u,nr;
FILE *f,*g;
int main(){
f=fopen("branza.in","r");
g=fopen("branza.out","w");
fscanf(f,"%lld%lld%lld",&n,&s,&t);
for(i=1;i<=n;i++){
fscanf(f,"%lld%lld",&v[i].p,&v[i].c);
}
p=1;
for(i=1;i<=n;i++){
while(u>=p&&d[0][u]+(i-d[1][u])*s>=v[i].p){
u--;
}
d[0][++u]=v[i].p;
d[1][u]=i;
if(i-d[1][p]>t)
p++;
nr+=v[i].c*d[0][p]+(i-d[1][p])*s*v[i].c;
}
fprintf(g,"%lld",nr);
fclose(f);
fclose(g);
return 0;
}