Pagini recente » Cod sursa (job #1708634) | Cod sursa (job #1698101) | Cod sursa (job #1972147) | Cod sursa (job #3213661) | Cod sursa (job #1940277)
#include <cstdio>
using namespace std;
int d[100001],v[100001];
int main()
{
FILE *fin=fopen ("branza.in","r");
FILE *fout=fopen ("branza.out","w");
int n,p,u,i,s,t,c,pr;
long long sol=0;
fscanf (fin,"%d%d%d",&n,&s,&t);
p=u=1;
d[1]=1;
for (i=1;i<=n;i++){
fscanf (fin,"%d%d",&c,&pr);
v[i]=c;
while (p<=u && c<=v[d[u]]+(i-d[u])*s)
u--;
d[++u]=i;
sol+=(long long)(v[d[p]]+(long long)(i-d[p])*s)*pr;
if (i-d[p]==t)
p++;
}
fprintf (fout,"%lld",sol);
return 0;
}