Pagini recente » Cod sursa (job #2870924) | Cod sursa (job #654849) | Cod sursa (job #1497299) | Cod sursa (job #1893556) | Cod sursa (job #2156811)
#include <fstream>
using namespace std;
#define ll long long
ifstream in("branza.in");
ofstream out("branza.out");
int a[1000001];
int d[1000001];
int main(){
int n,k,p,st=0,dr=-1,i,j;
in>>n>>p>>k;
ll s=0,c;
for(i=1; i<=n; ++i){
in>>a[i]>>c;
if(st<=dr && d[st]==i-k)
++st;
while(st<=dr && a[i]<=a[d[dr]]+(i-d[dr])*p)
--dr;
d[++dr]=i;
s+=(a[d[st]]+(i-d[st])*p)*c;
}
out<<s;
return 0;
}