Pagini recente » Cod sursa (job #2572492) | Cod sursa (job #1035838) | Cod sursa (job #2079311) | Cod sursa (job #373818) | Cod sursa (job #2578729)
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int N=100001;
pair <int,int> dq[N];
int n,s,t,a,b,st=1,dr;
long long ans;
int main()
{
fin>>n>>s>>t;
t++;
for(int i=1;i<=n;i++)
{
fin>>a>>b;
if(i-dq[st].second==t&&st<=dr)
{
st++;
}
while(st<=dr&&dq[dr].first+s*(i-dq[dr].second)>=a)
{
dr--;
}
dq[++dr].first=a;
dq[dr].second=i;
ans+=b*(long long)dq[st].first+s*(long long)(i-dq[st].second)*b;
}
fout<<ans;
return 0;
}