Pagini recente » Cod sursa (job #2196949) | Cod sursa (job #818988) | Cod sursa (job #1299401) | Cod sursa (job #1849819) | Cod sursa (job #963389)
Cod sursa(job #963389)
#include<cstdio>
#define ll long long
const int N=100001;
struct sapt{
ll c,p;
};
sapt v[N];
ll d[N],s,n,t,i,sapt,nr,c1=1,c2;
int main(){
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%lld%lld%lld",&n,&t,&sapt);
for(i=1;i<=n;i++)
scanf("%lld%lld",&v[i].c,&v[i].p);
for(i=1;i<=n;i++){
if(i>=sapt)
if(i-d[c1]>sapt)
c1++;
while(c2>=c1 && v[i].c<=(v[d[c2]].c)+(i-d[c2])*t)
c2--;
d[++c2]=i;
s+=(v[d[c1]].c+(i-d[c1])*t)*v[i].p;
}
printf("%lld",s);
return 0;
}