Pagini recente » Cod sursa (job #1007790) | Cod sursa (job #1313968) | Cod sursa (job #426684) | Cod sursa (job #1235220) | Cod sursa (job #2047033)
#include <fstream>
using namespace std;
ifstream in ("branza.in");
ofstream out ("branza.out");
const int N=100003;
int v[N], deq[N];
int main()
{
int n,s,t,i,st=0,dr=-1,cant;
long long sum=0;
in>>n>>s>>t;
t++;
for (i=1;i<=n;i++)
{
in>>v[i]>>cant;
if (st<=dr && deq[st]==i-t)
st++;
while (st<=dr && v[i]<=v[deq[dr]]+(i-deq[dr])*s)
dr--;
dr++;
deq[dr]=i;
sum+=(long long)(v[deq[st]]+(i-deq[st])*s)*(long long)cant;
}
out<<sum;
return 0;
}