Pagini recente » Cod sursa (job #3314240) | Cod sursa (job #127115) | Cod sursa (job #971105) | Cod sursa (job #122910) | Cod sursa (job #3308440)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int c[100005];
int p[100005];
int v[100005];
deque<pair<int,int>> dq;
int main()
{
int n,s,t,ans=0;
fin>>n>>s>>t;
for(int i=1;i<=n;i++)
{
fin>>c[i]>>p[i];
v[i]=c[i]-s*i;
}
for(int i=1;i<=n;i++)
{
while(!dq.empty() && dq.back().first>v[i])
{
dq.pop_back();
}
while(!dq.empty() && dq.front().second<i-t+1)
{
dq.pop_front();
}
dq.push_back({v[i],i});
ans+=(dq.front().first+i*s)*p[i];
}
fout<<ans;
return 0;
}