Pagini recente » Cod sursa (job #2221106) | Cod sursa (job #2371618) | Istoria paginii utilizator/georgiana321 | Cod sursa (job #2519484) | Cod sursa (job #1113804)
#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+=d[0][p]*v[i].c+(i-d[1][p])*s*v[i].c;
}
fprintf(g,"%lld",nr);
fclose(f);
fclose(g);
return 0;
}