Pagini recente » Cod sursa (job #1935223) | Cod sursa (job #809530) | Cod sursa (job #1884588) | Cod sursa (job #874054) | Cod sursa (job #2065756)
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int N=100001;
int v[N],d[N],c[N];
int main()
{
int n,x,k,st,dr,p,i;
long long s=0;
fin>>n>>x>>k;
k++;
st=0;
dr=-1;
for(i=0; i<n; i++)
{
fin>>c[i]>>p;
if(st<=dr && d[st]==i-k) st++;
while(st<=dr && c[i]<=c[d[dr]]+x*(i-d[dr]))
dr--;
d[++dr]=i;
s += (c[d[st]]+(long long)x*(i-d[st]))*p;
}
fout<<s;
return 0;
}