Pagini recente » Cod sursa (job #1480710) | Cod sursa (job #79318) | Cod sursa (job #1080088) | Cod sursa (job #559585) | Cod sursa (job #2986304)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int nmax=1e5+1;
int main()
{
int n, s, t, c, p[nmax];
long long ans=0;
fin >> n >> s >> t;
deque<int> a;
for(int i=1; i<=n; i++)
{
if(!a.empty() && a.front()<=i-t-1) a.pop_front();
fin >> p[i] >> c;
while(!a.empty() && p[a.back()]+s*(i-a.back())>=p[i]) a.pop_back();
a.push_back(i);
ans+=(long long)c*(p[a.front()]+s*(i-a.front()));
}
fout << ans;
return 0;
}