Pagini recente » Cod sursa (job #435703) | Cod sursa (job #1144801) | Cod sursa (job #670208) | Cod sursa (job #435115) | Cod sursa (job #2328179)
#include <fstream>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
int main()
{
long long pret[100000],k[100001],dq[100000], smin = 0,n,t,s,st = 0,dr = 0;;
cin>>n>>s>>t;
t++;
for(int i=0;i<n;i++){
cin>>pret[i]>>k[i];
}
for(int i=0;i<n;i++){
while(st<=dr && dq[st]==i-t){
st++;
}
while(st<=dr && pret[i]<=pret[dq[dr]]+(i-dq[dr])*s){
dr--;
}
dq[++dr]=i;
smin += (pret[dq[st]]+s*(i-dq[st]))*k[i];
}
cout<<smin;
return 0;
}