Pagini recente » Cod sursa (job #2779243) | Cod sursa (job #2239400) | Borderou de evaluare (job #589070) | Cod sursa (job #2478122) | Cod sursa (job #2489522)
#include <fstream>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
int v[100001],dq[100001];
int main()
{
int n,i,s,t,st=1,dr=0,nrr;
long long p=0,s2,s1;
cin>>n>>s>>t;
for(i=1;i<=n;i++)
{
cin>>v[i]>>nrr;
while(v[i]<v[dq[dr]]+s && dr>0)
dr--;
dr++;
dq[dr]=i;
while(dq[st]+t<=i )
st++;
s2=(long long)v[i]*nrr;
s1=(long long)v[dq[st]]*nrr;
s1+=(long long)s*(i-dq[st])*nrr;
p+=min(s1,s2);
}
cout<<p;
return 0;
}